Learning Goals 3 min
By the end of this lesson you will be able to:
- Find the Sprite list in the bottom-right of the Scratch editor and add a second sprite from the library.
- Explain that each sprite has its own Script Area — scripts belong to the sprite that is currently selected, and clicking a different sprite shows a different (often empty) script area.
- Predict what happens when two sprites both have a when ⚑ clicked hat — they run in parallel the instant the flag is clicked.
Warm-Up — where did my script go? 7 min
Every Level 1 project you ever built had exactly one sprite — the cat. Today that changes. But before we add anything, here is a tiny puzzle.
Aisyah opens a fresh Scratch project. She drags the cat off the Stage and adds a new sprite — a basketball — from the library. She writes this script while the basketball is selected in the Sprite list:
when flag clicked
move (10) steps
She clicks the flag. The basketball moves 10 steps. Good. Then she clicks on the cat in the Sprite list and looks at the Script Area.
What does she see, and why?
The Script Area is empty. The script she wrote was attached to the basketball sprite, not the cat. Each sprite has its own private Script Area, and the editor only shows you the scripts of whichever sprite is currently highlighted in the Sprite list. The cat's scripts are still there (or rather, the cat has none) — they didn't disappear, they were never on the cat to begin with.
That little surprise is today's whole lesson in one click. From now on, the very first question you ask before writing any script is: "which sprite is selected right now?"
New Concept — the Sprite list and per-sprite scripts 15 min
Up until Level 2 you've only ever worked with one sprite at a time, so you never had to think about which sprite a script belonged to. As soon as a project has two or more sprites, that question becomes the most important question in Scratch.
Where the Sprite list lives
Look at the Scratch editor. The Stage is in the top-right. Right under the Stage, in the bottom-right panel, you'll see small icons — one for each sprite in the project. That panel is called the Sprite list. A brand-new project has one icon (the cat); after today you'll have two, three, or more.
Above the Sprite list, there's a row of four little buttons (cat-with-magnifier, paintbrush, surprise, upload). Hover the cat-with-magnifier — that opens the Sprite library, the same kind of picker as the Costumes library you used in Level 1, but for whole sprites instead of pictures.
Selecting which sprite a script belongs to
Click any sprite icon in the Sprite list. Three things happen at once:
- That sprite's icon gets a blue outline — Scratch is telling you "this is the selected sprite".
- The big Script Area in the middle of the editor switches to that sprite's scripts. If the sprite has no scripts yet, the area is empty.
- Any new block you drag in will belong to that sprite, not any other.
This is the rule that catches every beginner: scripts move with the sprite, not with the project. You can't write a script "for all sprites at once" — every script lives on exactly one sprite.
Two sprites, two flag-hats, running together
Here's what makes multiple sprites interesting. Suppose the cat has this script:
when flag clicked
forever
move (10) steps
end
And the basketball has this script:
when flag clicked
forever
next costume
end
Click the green flag once. What happens? Both scripts start at the same instant. The cat walks while the basketball flips through costumes — they don't take turns, they don't wait for each other, they run in parallel. The flag is a broadcast to every when ⚑ clicked hat in the whole project.
That is the superpower of multiple sprites. A single click can wake up five different actors, each doing its own thing, all at once.
Worked Example — the host and the first guest 12 min
Open your Kampung-Stage-Scene project from last lesson. We add the first guest, Aisyah, beside the cat host — two sprites, two scripts, both greeting on the flag. Eight steps.
Step 1 — Open the arc project
Open Kampung-Stage-Scene. The cat host is in the Sprite list with its greeting script. Leave it as is. It sits at roughly x: −150, y: −90.
Step 2 — Add the guest sprite
In the Sprite list (bottom-right), hover the round blue cat-with-magnifier button and click it. The Sprite library opens. Pick any person sprite (Avery, Devin, Jamal) to play Aisyah, our first guest. Its icon now sits next to the cat host's.
Step 3 — Rename and position the guest
Rename the new sprite to Aisyah. Drag her on the Stage to roughly x: 120, y: −90 — the opposite side from the host.
Step 4 — Write the host's greeting (click the cat first!)
In the Sprite list, click the cat host. The blue outline appears and the Script Area shows the host's scripts. Make sure it greets on the flag:
- From Events: when ⚑ clicked
- From Looks: say [Selamat datang!] for (2) seconds
Step 5 — Switch to the guest
In the Sprite list, click Aisyah. The Script Area changes — the host's blocks vanish from view (they are still on the host) and you see Aisyah's empty Script Area.
Step 6 — Write the guest's greeting
Drag:
- From Events: when ⚑ clicked
- From Looks: say [Selamat, terima kasih!] for (2) seconds
Step 7 — Click the host again, just to see
Pop back to the cat host in the Sprite list. You see the host's greeting again, and Aisyah's blocks are gone from view. That is the per-sprite Script Area in action — each sprite carries its own scripts.
Step 8 — Click the green flag
Both when ⚑ clicked hats fire at the same instant. The host says "Selamat datang!" while the guest says "Selamat, terima kasih!" — two greetings, one flag, no waiting.
The full assembled project
The cat host's script:
when flag clicked
say [Selamat datang!] for (2) seconds
The guest Aisyah's script:
when flag clicked
say [Selamat, terima kasih!] for (2) seconds
What you just built: the smallest possible two-sprite parallel scene — host and guest greeting together. Every multi-character scene you meet from here on — three guests at an open house, a chef and a falling kuih, quiz contestants — is just bigger versions of this exact pattern.
Try It Yourself — three multi-sprite drills 15 min
Goal: Make a project with two sprites — the cat and a star (from the library). When the flag is clicked, the cat walks forward and the star flips through its costumes in place. Don't add anything else.
when flag clicked
forever
move (10) steps
end
when flag clicked
forever
next costume
end
Think: If you forget to click the star in the Sprite list before dragging in its blocks, you'll accidentally pile both scripts onto the cat. The cat will then both walk and flip costumes — and the star will do nothing. That bug is in your future. Knowing about it now means you'll catch it in five seconds.
Goal: Build a scene with three sprites — the cat, a basketball, and a dinosaur (Dino) from the library. All three should react to the green flag. The cat walks forward, the basketball flips costumes, and the dinosaur turns 15 degrees clockwise forever.
when flag clicked
forever
turn cw (15) degrees
end
Think: One green-flag click, three independent behaviours. You can scale this up to ten sprites — Scratch will happily run all ten flag-hats together. The browser is doing a lot of work; you barely notice.
Goal: The cat and a duplicate of the cat race across the Stage. Right-click the cat in the Sprite list and choose duplicate — that gives you a second cat (Scratch will name it Sprite1 and the original stays as Sprite or similar). Position the original at x: −200, y: 50 and the duplicate at x: −200, y: −50. Give the original move (10) steps in a forever, and give the duplicate move (7) steps. Race them.
when flag clicked
forever
move (10) steps
end
when flag clicked
forever
move (7) steps
end
Think: Duplicating a sprite copies everything — costumes, sounds, AND all of its scripts. That's a huge shortcut later, when you want twenty identical falling apples in a catch-the-kuih game.
Mini-Challenge — Daniel's missing dancer 5 min
"Why won't my dinosaur dance?"
Daniel adds a Dino sprite to a project that already has the cat. He wants the dinosaur to flip costumes forever when the flag is clicked. He drags in this stack and clicks the flag:
when flag clicked
forever
next costume
end
The flag goes green. The cat flips through cat costumes. The dinosaur sits perfectly still. Daniel checks the blocks three times — they're correct. What's going on?
Reveal what Daniel did wrong
Daniel forgot to click the dinosaur in the Sprite list before he wrote the script. The dinosaur was added to the project, but the cat was still the selected sprite (its icon had the blue outline). So when Daniel dragged in when ⚑ clicked + forever + next costume, all three blocks landed on the cat.
Result: the cat now has two flag-hats. One from before (if any) and Daniel's new one. The dinosaur has zero. To fix it, Daniel clicks the dinosaur in the Sprite list, deletes the same blocks off the cat, and re-drags them while the dinosaur is selected (blue outline).
The fix is one click before any dragging. "Click the sprite first, then write the script" becomes muscle memory by the end of this arc.
Recap 3 min
You met the Sprite list and the rule that defines Level 2: every script belongs to exactly one sprite, and you choose which sprite by clicking it in the Sprite list before you write the script. The Script Area in the middle of the editor changes to match whichever sprite is currently selected (you can spot the selection by the blue outline around its icon). The green flag fires every when ⚑ clicked hat across all sprites at the same instant — that's how a single click can wake up a whole cast of characters at once. From here on, every project you build will have two or more sprites, and the very first question before every block-drag is "which sprite is selected?".
- Sprite list
- The panel in the bottom-right of the Scratch editor, just under the Stage. Shows one icon per sprite in the project. Click an icon to select that sprite.
- Sprite library
- The pop-up picker you get by clicking the cat-with-magnifier button above the Sprite list. Holds hundreds of built-in sprites — animals, balls, people, food, fantasy.
- Selected sprite
- The sprite currently highlighted (blue outline) in the Sprite list. The Script Area always shows the selected sprite's scripts, and any block you drag in attaches to the selected sprite.
- Parallel scripts
- Two or more scripts that run at the same time. The classic case: two sprites both have a when ⚑ clicked hat, so one flag click starts both.
- Per-sprite Script Area
- The fact that each sprite has its own private collection of scripts. Switching sprites in the Sprite list switches what you see in the Script Area — the other sprites' scripts didn't disappear, they're just on a different sprite.
Homework 2 min
The Three-Actor Stage. Build one project with three sprites and three parallel behaviours.
- Start a new Scratch project. The cat is already there.
- Add a basketball from the Sprite library. Position it on the right side of the Stage.
- Add one more sprite of your choice — Dino, Frank, Pico, anything from the library. Position it on the left side.
- On the cat (click it in the Sprite list first!), build: when ⚑ clicked + forever + move (10) steps.
- On the basketball, build: when ⚑ clicked + forever + next costume.
- On the third sprite, build: when ⚑ clicked + forever + turn cw (15) degrees.
Save as HW-L2-02-Three-Actors.sb3. Click the flag — three sprites should all start doing their things at the exact same moment.
Bring back next class:
- The
.sb3file. - Your answer to: "What happens if you delete only the cat's when ⚑ clicked but leave its forever + move? Click the flag — does the cat walk? Why or why not?"
Heads up for next class: SCR-L02-03 opens each sprite's info card — the little panel above the Script Area that shows x, y, direction, size and the sprite's name. You'll learn to rename sprites from "Sprite1" to meaningful names like Cat or Ball so future scripts make sense.