Wat leer je?
- Meer dan één script tegelijk laten draaien op dezelfde sprite
- Het verschil tussen reageren op een toets en een toets voortdurend uitlezen
- Werken met de lus herhaal voortdurend uit Besturing
- Een zeshoekig vraagblok gebruiken: "toets ... ingedrukt?"
- Je sprite netjes binnen het speelveld houden met een vergelijking
Wat heb je nodig?
- Een nieuw, leeg Scratch-project
- Eén sprite — de kat mag, maar kies gerust iets anders
- Een toetsenbord met vier pijltjestoetsen
Weet je nog niet hoe je blokken vastklikt? Doe eerst opdracht 1.
Stap voor stap
Je bouwt deze opdracht twee keer: eerst de voor de hand liggende manier, daarna de betere. Sla de eerste versie niet over — je moet het haperen zélf voelen om te snappen waarom de tweede versie beter is. Vink een stap af als hij klaar is; je browser onthoudt dat.
Eén toets, één script
GebeurtenissenKlik op de gele categorie Gebeurtenissen en sleep het blok "als spatie toets wordt ingedrukt" naar je codegebied. Klik op het donkere vakje en kies in de lijst pijl naar rechts. Hang er daarna uit Beweging het blok "verander x met 10" onder.
- Mijn sprite schuift naar rechts als ik op de pijltjestoets druk
Nog drie losse scripts erbij
GebeurtenissenBouw hetzelfde nog drie keer, elk keer met een andere toets en een ander getal. Sneller dan opnieuw slepen: klik met de rechtermuisknop op je hoedblok en kies dupliceren — je krijgt een kopie van het hele script die aan je muis hangt. Zet de kopieën netjes naast elkaar in het codegebied, zodat je ze allemaal ziet.
- Ik heb vier losse scripts, elk met een eigen pijltjestoets
Testmoment — voel het haperen
controleKlik één keer in het speelveld en houd daarna een pijltjestoets ingedrukt. Let goed op: je sprite doet één stapje, staat dan een halve seconde stil, en gaat pas daarna vlot door. Precies dat schokje ga je straks wegwerken. Werkt er iets helemaal niet?
- Zit het bewegingsblok wel écht vastgeklikt onder het hoedblok? Sleep het hoedblok een stukje opzij — het blok eronder hoort mee te komen.
- Staat in elk hoedblok een andere toets? Twee scripts met dezelfde toets vechten met elkaar.
- Klik eerst met je muis in het speelveld. Staat je cursor nog in een tekstvakje van een blok, dan gaan je toetsaanslagen daarheen in plaats van naar het spel.
- Sta je nog op de juiste sprite? Elke sprite heeft zijn eigen codegebied.
- Ik kan sturen, maar ik merk het schokje bij het begin
Bouw de betere motor: een eeuwige lus
BesturingLaat je vier scripts even staan en bouw er naast een nieuw script. Neem uit Gebeurtenissen het groene-vlag-hoedblok, en klik daaronder uit de oranje categorie Besturing het blok "herhaal voortdurend". Dat is een C-blok: het heeft een mond waar andere blokken in passen, en het heeft géén nokje onderaan — er kan niets achter komen, want de lus stopt nooit uit zichzelf.
- Mijn lege lus hangt onder het groene-vlag-blok
Vraag zelf aan de toetsen of ze ingedrukt zijn
WaarnemingSleep uit Besturing vier keer een "als ... dan"-blok in de mond van je lus, onder elkaar. Ga daarna naar de lichtblauwe categorie Waarneming en sleep het zeshoekige blok "toets spatie ingedrukt?" in het zeshoekige gaatje van elk als-blok. Kies per blok de juiste pijltjestoets en zet in elke mond het bijbehorende bewegingsblok.
- Vier als-blokken zitten in mijn lus, elk met een eigen toets
Testmoment — vergelijk de twee manieren
controleKlik op de groene vlag en houd een pijltjestoets ingedrukt. Je sprite glijdt nu meteen weg, zonder schokje. Probeer ook eens twee toetsen tegelijk (rechts én omhoog): je gaat schuin. Met de vier losse scripts lukte dat veel slechter.
- Gebeurt er niets? Dan draait je lus waarschijnlijk niet: je moet nu écht op de groene vlag klikken, één keer indrukken van een toets start dit script niet.
- Beweegt je sprite twee keer zo snel? Dan zijn je oude scripts ook nog actief — die ruim je in de volgende stap op.
- Zit elk bewegingsblok wel binnen de mond van zijn als-blok, en niet eronder? Kijk goed of het blok ingesprongen staat.
- Staat er in twee als-blokken per ongeluk dezelfde toets? Controleer alle vier de lijstjes.
- Mijn sprite beweegt vloeiend en kan ook schuin
Ruim de oude scripts op en regel je snelheid
BewegingSleep nu je vier oude scripts één voor één naar het blokkenpalet aan de linkerkant en laat ze daar los — weg zijn ze. (Per ongeluk verwijderd? Ctrl + Z zet het terug.) Verander daarna het getal in je vier bewegingsblokken en test telkens even: met 4 sluipt je sprite, met 7 voelt het rustig maar wendbaar, met 20 schiet hij door het beeld.
- De oude scripts zijn weg en mijn snelheid voelt goed
Houd je sprite binnen het speelveld
OperatorenStuur eens ver naar rechts: je sprite blijft half aan de rand plakken. Dat lossen we op met een grenswacht. Het speelveld loopt van x = -240 tot x = 240, dus we houden hem op 230. Voeg onderaan je lus twee als-blokken toe. In het zeshoekige gaatje komt uit de groene categorie Operatoren het blok "... groter dan ..." (en één keer "... kleiner dan ..."). In het linkervakje sleep je uit Beweging het ronde blokje x-positie.
- Mijn sprite blijft links en rechts netjes in beeld
Het volledige script
Eén hoedblok, één lus, zes vragen. Vergelijk het rustig met wat er op jouw scherm staat — let vooral op wat er ín een mond zit en wat eronder hangt.
Uitdagingen
Klaar en nog tijd over? Deze drie uitdagingen hebben géén uitgewerkte oplossing — zoek zelf uit hoe je ze oplost. Alle blokken die je nodig hebt, ken je nu.
Ook boven en onder een muur
makkelijkJe grenswacht bewaakt alleen links en rechts. Bouw hem ook voor boven en onder. Tip: het speelveld is minder hoog dan breed — met welke getallen werk je dan, en welk rond blokje heb je nodig in plaats van x-positie?
Sprinten met de spatiebalk
middelLaat je sprite twee keer zo snel gaan zolang je de spatiebalk ingedrukt houdt. Tip: je hebt een extra vraagblok nodig, en in Operatoren staat een blok "... en ..." waarmee je twee vragen tegelijk kunt stellen. Lukt dat niet? Dan mag je ook een als-blok ín een ander als-blok stoppen.
Kijken waar je heen gaat
pittigLaat je sprite ook echt draaien naar de richting waarin hij loopt. Tip: in Beweging staat "wijs in richting ..." — rechts is 90, links is -90, omhoog is 0 en omlaag is 180. Staat je sprite ineens op zijn kop? Zoek dan het blok "maak draaistijl ..." op en probeer de stand links-rechts.