Not to be confused with Change X by () (block) or Change Y by () (block).
Move () Steps
move (10) steps
Category Motion
Type Stack
Introduced in 14Feb04
Assuming the black grid shows individual pixel positions, using a move 1 step gets the Scratch cat to the red circle, its final position along the circle depending on its direction. Moving 2 steps gets to orange, and moving 3 steps gets to green.

The move () steps block is a stack block and a Motion block. Unlike the Change X by () or the Change Y by (), this block moves its sprite forward the specified amount of "steps" in the direction it is facing. A step is equal to a one-pixel length. The Default Value is 10 and can be replaced by any number. The block actually uses Trigonometry to move in the proper direction, as this is how a computer handles it.

The block was known as "forward ()" in Scratch 14Feb04 before being renamed to "move () steps" in Scratch 28Feb05.

Example Uses

Instead of using complicated scripts with the Change X by () block and the Change Y by () block, this block can be easily used to move a sprite forward.

Some common uses for the Move () Steps block are:

  • Making sprites move
when gf clicked
set rotation style [left-right v]
forever
  move (10) steps
  if on edge, bounce
  • Moving a sprite forward in an animation
repeat (10)
  move (10) steps
end
  • Making a sprite follow the mouse
forever
  point towards (mouse-pointer v)
  move (10) steps
end
  • Making a sprite follow another sprite
forever
 point towards (other sprite v)
 move (speed) steps
 end
 

Workaround

Main article: List of Block Workarounds

This block can be replicated with the following code:

go to x: ((x position) + (([sin v] of (direction)) * (number))) y: ((y position) + (([cos v] of (direction)) * (number))

or:

change x by ((steps) * ([sin v] of (direction)))
change y by ((steps) * ([cos v] of (direction)))

See Also