One-sentence summary
The Scratch stage is a coordinate system; we place the sprite using the numbers x and y, then move it step by step or in patterns with the motion blocks.
Why does this matter?
We cannot tell a sprite to "go a little to the right." A computer needs an exact number: how many steps, which direction, which position? That is why we treat the Scratch stage like a map. Every point has a name made of two numbers, and every movement changes those numbers.
Understanding coordinates is the foundation of every project that follows. Moving a ball in a game, walking a character in an animation, or sending a robot from one point to another all rest on the same idea: describing a position with numbers. In this lesson we will see that these numbers can be learned by playing, with no reason to panic.
The stage is a coordinate system
The Scratch stage is like a wide sheet of paper. In the middle there is an invisible center point, and its name is (0, 0). From there, numbers stretch out to the right and left, up and down.
What do x and y mean?
x is the sprite's left–right position (horizontal). y is the sprite's up–down position (vertical).
- Moving right makes x larger; moving left makes x smaller (negative).
- Moving up makes y larger; moving down makes y smaller (negative).
The edges of the stage are roughly: −240 to +240 for x, and −180 to +180 for y. So the center is (0, 0), and the top-right corner is about (240, 180).
Example: To place the sprite in the exact middle of the stage, we set its position to (0, 0). For a spot near the bottom-left corner we might use a position like (−200, −140).
Seeing the position on screen
When you drag the sprite with the mouse, the x and y boxes above the sprite list change their numbers. This is the easiest way to prove the stage really is a coordinate system. Pull the sprite a bit to the right and watch the x number grow.
The motion blocks
All movement blocks are in the Motion category and are colored blue. Let's get to know the ones we will use most.
"move 10 steps"
This block moves the sprite forward, in the direction it is facing, by the amount we give. A "step" here means one pixel, so move 100 steps shifts the sprite 100 pixels the way it is pointing.
when green flag clicked
move 10 steps
Each time you click the flag, the sprite slides another 10 steps in the same direction.
"go to x: … y: …"
This block does not walk step by step; it teleports the sprite straight to the coordinate you type.
when green flag clicked
go to x: 0 y: 0
This block is very useful for starting the sprite from the same place every time a project begins.
"point in direction …" and "turn … degrees"
The point in direction 90 block sets which way the sprite faces. In Scratch the directions are: 90 = right, −90 = left, 0 = up, 180 = down.
The turn 15 degrees block rotates the sprite from wherever it is already facing. There are two turn blocks: one turns clockwise (right), the other counterclockwise (left).
when green flag clicked
point in direction 90
move 10 steps
turn right 15 degrees
move 10 steps
This program makes the sprite face right, move, turn a little to the right, and move again. As a result the sprite draws a gentle curve.
"if on edge, bounce"
This block turns the sprite around when it hits the edge of the stage. On its own it does nothing; combined with continuous movement, the sprite bounces like a ball hitting a wall.
when green flag clicked
forever
move 10 steps
if on edge, bounce
Here the forever block comes from the Control category and repeats the steps inside it without stopping.
Moving the sprite in a pattern
Without ever using the arrow keys, we can make the sprite draw a pattern using only motion blocks. Let's build two examples.
Example 1: Moving in a square pattern
If the sprite does "move and turn" four times, it travels around in the shape of a square. It needs to turn 90 degrees at each corner.
when green flag clicked
go to x: 0 y: 0
point in direction 90
repeat 4
move 100 steps
turn right 90 degrees
wait 1 seconds
We added the wait 1 seconds block so we can follow the movement with our eyes. The sprite stops at each side, turns, then continues, and returns to where it started.
Example 2: Wandering by bouncing
If we want the sprite to roam freely and bounce off the edges, we use this pattern:
when green flag clicked
go to x: -150 y: 100
point in direction 45
forever
move 8 steps
if on edge, bounce
The sprite starts at the top-left, heads in the 45-degree direction, and bounces into a new direction each time it hits an edge, roaming the stage nonstop. Change the 8 steps to 3 and it slows down; make it 15 and it speeds up.
Mini practice
Make your own "triangle tour" pattern.
- Open a new project and use the default cat sprite.
- Add
go to x: 0 y: -100as the starting point. - The sprite will draw a triangle. How many degrees should it turn at each corner? Hint: we used 90 for a square; the outside angle of a triangle is 120 degrees.
- Complete this pattern:
when green flag clicked
go to x: 0 y: -100
point in direction 90
repeat 3
move 100 steps
turn right ___ degrees
wait 1 seconds
Which number in the blank makes the sprite tour a clean triangle? Guess before you try, then run it and see. If it comes out wrong, change the number and try again; that is the best part of debugging.
Common mistakes
Mixing up x and y
x is horizontal (left–right); y is vertical (up–down). If you change x when you meant to move the sprite up, it slides sideways instead. When you get confused, ask yourself "which one is up?" The answer: y is up.
Forgetting negative numbers
The area to the left of and below the center uses negative values. To send the sprite to the bottom-left you need negatives, like x: -200 y: -140. If you always type positives, the sprite stays stuck in the top-right.
Confusing direction with turning
point in direction 90 sets the direction directly. turn 15 degrees adds to the current direction. If you want a pattern to start the same way every time, always use point in direction … at the beginning.
Placing "if on edge, bounce" on its own
This block only works while the sprite is moving. If you do not pair it with a move block inside a forever loop, you will never see any bouncing.
Safety note
Scratch is a safe, fully on-screen environment; there is no soldering, no battery, no sharp tool. Even so, keep two things in mind. Balance your screen time — take a short break every 20–30 minutes to rest your eyes. And if you share your project online, never write your real name, school, or address in the comments; decide together with an adult what information is okay to share.
Lesson summary
- The Scratch stage is a coordinate system, and its center is the point (0, 0).
- x is the left–right position and y is the up–down position; right and up are positive, left and down are negative.
move 10 stepsmoves the sprite in the direction it faces;go to x: … y: …teleports it straight to a point.point in direction …sets the direction,turn … degreesadds to it, andif on edge, bounceturns the sprite back from the edge.- Combined with repeat blocks, we can make the sprite draw a square, a triangle, or a bouncing pattern with no arrow keys at all.
Review questions
- What are the coordinates of the point at the exact center of the Scratch stage?
- When we move the sprite to the right, does the x value increase or decrease?
- Does
move 10 stepsmove the sprite along a fixed direction, or along the direction the sprite is facing? - Which block do we use to send the sprite straight to the point (0, 0)?
- Why does the
if on edge, bounceblock do nothing on its own?
Answers
- (0, 0) — the center of the stage.
- It increases. Right is the direction in which x grows; moving left makes x smaller and it can become negative.
- The direction the sprite is facing. That is why we usually set the direction with
point in direction …before making a pattern. - The
go to x: 0 y: 0block. It does not walk step by step; it moves the sprite straight to that point. - Because this block only turns the sprite around while it is moving. It must be used together with a
moveblock, usually inside aforeverloop.
Source and verification note
For “Motion and the Coordinate System”, verification focuses on whether the relationship between Why does this matter? and What do x and y mean? remains consistent across examples. Block names are kept consistent with the current core Scratch categories. Project behaviour should be tested separately for start-up, normal play, errors and restarting.
Next lesson
Looks, Sound and Events