In the 2D platformer tutorial there are a couple of instances in the PlatformerController script in which Time.deltaTime is either added or divided. I understand that multiplying by Time.deltaTime allows your movement to be based on seconds and not frame rate, but I am unclear as to the uses of adding and dividing.
Normally we say that if traveling 9 meters per second - at 3FPS means that it moves 3 meters per frame.
In this case we are saying that if it traveled 3 meters in a third of a second, it must be travelling 9 meters per second.
The first example is using deltaTime to make the movement time-independent:
movement.velocity = (transform.position - lastPosition) / Time.deltaTime;
// velocity = (current position - last position) / time taken for the frame
// in this way, velocity is independent of the framerate
Edit: Still half-asleep, didn't read the question properly. As for why it's being divided instead of multiplied, I think it's because velocity is movement per second, not per frame. The difference in the two positions is (I would assume) one frame of movement, so dividing by the deltaTime gives you the approximate velocity of the movement.
The second example is using deltaTime to add to a timer:
movement.hangTime += Time.deltaTime;
// hangTime += time taken for the frame
// this is a fairly standard way to create a timer,
// as you can later check the value of hangTime
Everything will work perfectly..multiplying and distributing will deepen different results, but it will still be aligned at different framerates.For every X which is multiplied by Y ther is a Z that will restore it to its original state. For example:
X = 2; X * 0.5 = 1; X * 2 = 2; (X * 0.5 = X / 2)
And "movement.hangTime += Time.deltaTime;" is actually: