(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)))
```