Velocity (not to be confused with gravity) is defined as speed in a given direction, and can therefore be negative, unlike speed alone (which is directionless and always positive). It is often used in projects for physics effects. Using velocity is a far smoother and aesthetically pleasing method than traditional scrolling.
How to program velocity in Scratch
This is a common method used to program velocity:
forever if <key [left arrow v] pressed?> then change [Speed v] by (-1) //a negative speed for leftward motion end if <key [right arrow v] pressed?> then change [Speed v] by (1) //a positive speed for rightward motion end set [Speed v] to ((Speed) * (0.9)) //a larger number increases the max speed and acceleration change x by (Speed) //the actual motion of the sprite
The above technique is simple, efficient and contained within a single script. The numbers can be changed to affect how quickly the sprite can speed up and slow down. It should be noted that the number in the last set variable block must be under 1, or the sprite will speed up rather than slowing down gradually.
Velocity has many uses — it can be used almost anywhere. A few of the many uses are below:
- Racing and driving games — Vehicles with velocity are more realistic to drive with.
- Platformers — Velocity makes the movement more realistic.
- Physics simulations — For example, a bouncing ball can use this.
- Scrolling projects — Scrollers with velocity are popular.
In general, anywhere that a sprite is moving — simple on-off movement — can easily be enhanced with velocity.
Below are some projects that use velocity:
- Velocity engine
- Velocity Tutorial
- Super Smash Bros. Ball!
- Off-Road Rally
- Ice-olated V 1.0
- Velocity Test