(Redirected from Change Y by ())
|Change Y by ()|
change y by ()
Often in games, the player controls a sprite and moves it around, such as with velocity. In this way, the change y by () block (and the change x by () block) can become very useful. The Y axis ranges from -180 to 180, but sprites can be moved further.
- In this script, which could control a paddle in Pong, a yVelocity variable controls the sprite's up and down movement. This allows the sprite to accelerate and decelerate.
set [yVelocity v] to  forever if <key (up arrow v) pressed?> then change [yVelocity v] by (2) end if <key (down arrow v) pressed?> then change [yVelocity v] by (-2) end change y by (yVelocity) if < (yVelocity) >  > then change [yVelocity v] by (-1) end if < (yVelocity) <  > then change [yVelocity v] by (1) end end
- This block is also commonly used in jump scripts, as shown below:
repeat (8) change y by (5) wait (0.1) seconds end wait (1) seconds repeat until <touching (Ground v)> change y by (-5) wait (0.1) seconds end
However, smoother jumping can be achieved by using this script:
glide (0.5)secs to x: ( x position ) y: ( ( y position ) + ( 40 ) ) wait (1) seconds repeat until <touching (Ground v)> glide (0.125) secs to x:( x position ) y: ( ( y position ) - ( 10 ) ) end
- Main article: List of Block Workarounds
This block can be replicated by setting the y position instead of changing it.
set y to ( ( y position ) + ( change ) )