Learning Goals 3 min
By the end of this lesson you will be able to:
- Write a schedule chart before you build, and use it as your plan.
- Move a story between two settings with
switch backdrop to. - Use
showandhideso each scene has only its own cast.
Warm-Up 7 min
You built a two-scene story back in Lesson 32 and a day-to-night scene in Lesson 34. Today is bigger: two settings, three sprites and characters who have to appear and disappear at the right moments.
Quick-fire puzzle
Hafiz built the host to greet the visitor at the right moment. On stage, the host appears in scene one too, standing in the middle of the pathway. Why?
when flag clicked
go to x: (90) y: (-60)
wait (4) seconds
say [Masuk, masuk!] for (3) seconds
Reveal the answer
Nothing ever hid the host. A sprite is visible unless you hide it, so the host stands there through all of scene one, waiting silently.
The fix is a hide at the top and a show after the wait. Every sprite that belongs to only one scene needs both.
New Concept — the chart is the program 15 min
Three sprites and two backdrops is more than you can hold in your head. The way through is to write the whole story down as a chart first, and then copy each column into a script.
Blocks reference
| Block | Category | Its job today |
|---|---|---|
switch backdrop to [Room 2 v] | Looks | Changes the setting at the four-second mark. |
hide / show | Looks | Puts each sprite in the scene it belongs to. |
wait (4) seconds | Control | Keeps every sprite on the same schedule. |
glide (1) secs to x: (-80) y: (-50) | Motion | Moves the visitor indoors without a jump cut. |
say [Selamat Hari Raya!] for (3) seconds | Looks | The dialogue, timed to the chart. |
Every sprite counts its own time
Nothing links the scripts together. Each sprite counts seconds on its own and simply happens to reach the right moment at the right time.
That means a change to one wait breaks the alignment everywhere else. It is why the chart matters: when you change a timing, you change the chart first and then fix every column.
Hide belongs at the top, not in the middle
Put hide as the very first block after the flag, before any wait. If it comes later, the sprite flashes on screen for a moment before disappearing.
The same goes for position. Reset where a sprite stands before it is visible, not after.
The backdrop belongs to one sprite only
Only one script should switch the backdrop, or two sprites will fight over it. Put it on whichever sprite is driving the story — here, the visitor.
Why it matters
Every animated story, film or cutscene you have ever seen was planned on a chart like this before anyone built anything. You are doing the real version of a real job.
Worked Example — build the visit 15 min
New project. You need the Avery sprite as the visitor, Jamal as the host, Fruit Platter as the kuih, and both the Pathway and Room 2 backdrops.
Step 1 — Write the chart before you touch Scratch
Copy the four-row chart from the previous section onto paper. Building without it will cost you more time than writing it does.
Step 2 — The visitor, scene one
Select Avery. This sprite owns the backdrop, so its script starts the whole story.
when flag clicked
switch backdrop to [Pathway v]
go to x: (-140) y: (-50)
show
glide (2) secs to x: (-40) y: (-50)
say [Assalamualaikum!] for (2) seconds
Step 3 — The visitor, scene two
The story is four seconds old. Now the backdrop changes and the visitor steps into the room.
when flag clicked
wait (4) seconds
switch backdrop to [Room 2 v]
go to x: (-80) y: (-50)
wait (4) seconds
say [Selamat Hari Raya!] for (3) seconds
Step 4 — The host
Select Jamal. The host does not exist until scene two, so the script starts with a hide.
when flag clicked
hide
go to x: (90) y: (-60)
wait (4) seconds
show
say [Waalaikumsalam! Masuk, masuk.] for (3) seconds
Step 5 — The kuih
Select the Fruit Platter. Same shape as the host: hidden, positioned, then revealed on the four-second mark.
when flag clicked
hide
go to x: (10) y: (10)
set size to (80) %
wait (4) seconds
show
Step 6 — The offer, and the reply
Two more short scripts, one on each character. Notice the eight-second start on the host and the twelve on the visitor — they take turns rather than talking over each other.
when flag clicked
wait (8) seconds
say [Jemput makan kuih.] for (3) seconds
when flag clicked
wait (12) seconds
say [Sedapnya! Terima kasih.] for (3) seconds
Step 7 — Watch it as an audience
Go full screen and watch the whole thing without touching anything. Note every moment where two people talk at once, or where a sprite pops in early.
Fix those by changing the chart first and the waits second. Changing the blocks without changing the chart is how projects drift out of alignment.
What changed: your project has scenes. That is the difference between a moment and a story.
The full script list (your reference)
| Sprite | Script | Starts at |
|---|---|---|
| Visitor | Arrive on the pathway, say salam | 0s |
| Visitor | Switch indoors, wish Hari Raya | 4s |
| Visitor | Reply about the kuih | 12s |
| Host | Hidden, then appear and welcome | 4s |
| Host | Offer the kuih | 8s |
| Kuih | Hidden, then appear on the table | 4s |
Six scripts across three sprites, none longer than six blocks.
Try It Yourself — three small builds 12 min
Goal: Add a sound to the moment the scene changes, so the ear knows something happened.
when flag clicked
wait (4) seconds
start sound [Doorbell v]
switch backdrop to [Room 2 v]
go to x: (-80) y: (-50)
Think: use start sound rather than play-until-done, or the whole story pauses while the doorbell finishes.
Goal: Make the kuih react when it is offered, so the Stage is not still while people talk.
when flag clicked
wait (8) seconds
change size by (30)
wait (0.4) seconds
change size by (-30)
Think: this is the add-versus-replace pattern again, and the two changes cancel out exactly. That is why they must match.
Mini-mission: the third scene. Add an ending where the visitor leaves and the story returns to the pathway.
It works if: the backdrop returns to Pathway, the host and the kuih are hidden again, the visitor says goodbye and glides off the left edge, and the flag restarts the whole thing cleanly. Keep each stack under 8 blocks.
Think: your chart now needs a fifth row. Add it before you build, and check every column has something in it — even if that something is “hidden”.
Mini-Challenge — the timing audit 5 min
“Every wait against the chart”
Open every script in your project and check its waits against your chart. One mismatch is enough to make the whole story feel wrong without you being able to say why.
It works if:
- You check all four boxes against your actual scripts, not from memory.
- You find and fix at least one mismatch.
- Your chart matches your project exactly by the end.
- Two flag clicks in a row give an identical story.
Recap 2 min
A schedule chart with a row per moment and a column per sprite is the plan a multi-sprite story needs, and each column becomes one script. Every sprite counts time on its own, so one changed wait breaks the alignment everywhere. A sprite that belongs to one scene needs a hide at the very top and a show at its moment. And only one sprite should own the backdrop, or the scenes fight each other.
- Schedule chart
- A grid of moments and sprites used to plan a story before building.
- Scene
- A stretch of story with one setting and one cast on screen.
- Cast
- The sprites visible in a given scene. Everyone else is hidden.
- Timing audit
- Checking every wait in the project against the chart.
Homework 1 min
Plan first, build second. Do the planning half of a new story tonight so you arrive ready to build.
- Choose two settings from the backdrop library that belong to the same story.
- Choose three sprites, and decide which one is hidden in scene one.
- Draw the chart: a row for each moment, a column for each sprite.
- Write the dialogue into the chart, checking that nobody talks over anybody.
Bring back next class:
- Your chart on paper, with times down the left.
- Your answer to: “Which sprite owns your backdrop switch, and why that one?”
Heads up for next class: SCR-L01-46 is about planning itself — how to turn an idea into a plan you can actually build from.