De onderdelen van een project
Sprite
Elk object dat op het speelveld iets doet: een kat, een bal, een knop, een vijand. Elke sprite heeft eigen scripts, kostuums en geluiden. De achtergrond is géén sprite.
Speelveld (stage)
Het witte rechthoekige venster rechtsboven waarin je project speelt. Altijd 480 bij 360 beeldpunten, met (0,0) precies in het midden.
Kostuum
Eén tekening van een sprite. Een sprite met meerdere kostuums kan animeren door er snel tussen te wisselen — zo krijg je een looppasje of een knipperend oog.
Achtergrond
De tekening áchter alle sprites. Een project kan meerdere achtergronden hebben; door te wisselen maak je levels of scènes.
Script
Een stapel blokken die aan elkaar vastzit en van boven naar onder wordt uitgevoerd. Eén sprite mag meerdere losse scripts hebben, die allemaal tegelijk kunnen lopen.
Codegebied
De grote gestippelde werkruimte in het midden waar je je blokken naartoe sleept. Elke sprite heeft zijn eigen codegebied — klik je een andere sprite aan, dan zie je diens blokken.
Soorten blokken
Hoedblok
Een blok met een ronde bovenkant waar niets bovenop kan. Het wacht op een gebeurtenis en start dan het script eronder. Zonder hoedblok draait een stapel nooit vanzelf.
Stapelblok
Het gewone blok: een nokje onderaan, een inkeping bovenaan, zodat ze in elkaar klikken tot een stapel.
C-blok
Een blok met een "mond" waar andere blokken in passen. Alles in de mond wordt herhaald, of alleen onder een voorwaarde uitgevoerd.
Reporter programmeertaal
Een ovaal blokje dat een waarde teruggeeft (een getal of tekst) in plaats van iets te doen. Je sleept het in de witte gaatjes van andere blokken.
Boolean programmeertaal
Een zeshoekig blokje met maar twee mogelijke uitkomsten: waar of niet waar. Genoemd naar de wiskundige George Boole. Past alleen in andere zeshoekige gaten.
Parameter / invulveld programmeertaal
Het witte vakje of keuzemenu ín een blok. Daarmee stel je hetzelfde blok telkens anders in: wacht 1 seconde of wacht 5 seconden.
Programmeerbegrippen
Sequentie (volgorde) programmeertaal
Instructies die één voor één, van boven naar onder, worden uitgevoerd. Het meest basale idee van programmeren: de volgorde bepaalt het resultaat.
Herhaling (lus/loop) programmeertaal
Hetzelfde stuk code meerdere keren uitvoeren zonder het te kopiëren. In het Engels een loop. Een lus die nooit stopt heet een oneindige lus.
Selectie (keuze) programmeertaal
Een stuk code dat alleen draait als een voorwaarde waar is. De computer kiest. In tekstuele talen heet dat een if-statement.
Variabele programmeertaal
Een doosje met een naam waar één waarde in past. "Zet op" vervangt de inhoud, "verander met" telt erbij op. Zo onthoudt je programma een score, een aantal levens of een naam.
Lijst (array) programmeertaal
Een rij doosjes onder één naam, genummerd vanaf 1. Handig voor een hoogscorelijst, quizvragen of een inventaris. In andere talen heet dit een array of list.
Functie / eigen blok programmeertaal
Een reeks blokken die je onder één zelfgekozen naam bundelt en daarna overal kan hergebruiken. In echte programmeertalen heet dit een functie of procedure.
Gebeurtenis (event) programmeertaal
Iets dat gebeurt en waar je programma op kan reageren: een klik op de groene vlag, een toetsdruk, een botsing. Elke app op je telefoon werkt zo.
Bericht (broadcast)
Een boodschap die naar alle sprites tegelijk gaat. Zo laat je sprites samenwerken zonder dat ze elkaars scripts kennen. Je kan geen bericht naar één specifieke sprite sturen.
Kloon
Een kopie van een sprite — mét al zijn code — die tijdens het spelen ontstaat. Zo maak je honderd kogels zonder honderd sprites te tekenen. Vergeet nooit ze te verwijderen.
Voorwaarde (conditie) programmeertaal
De zeshoekige uitdrukking die in een "als"-blok past. Met en, of en niet combineer je meerdere voorwaarden tot één.
Coördinaten (x en y)
Twee getallen die precies aangeven waar iets staat. x is links-rechts (-240 tot 240), y is onder-boven (-180 tot 180). Het midden is (0,0) en positieve y is omhoog, net als in wiskunde.
Debuggen programmeertaal
Fouten opsporen en oplossen. Het woord komt van een échte mot ("bug") die in 1947 in een computer vastzat. Handigste truc in Scratch: klik op een losse stapel blokken om alleen díe uit te voeren, of laat je sprite tussendoor een waarde "zeggen".
Fouten die iedereen maakt
| Symptoom | Meestal de oorzaak | Oplossing |
|---|---|---|
| Er gebeurt niets bij de groene vlag | Geen hoedblok, of losse blokken | Sleep het bovenste blok — hangt de rest mee? |
| De sprite lijkt niet te bewegen | "Beweeg" staat niet in een lus | Zet het in "herhaal voortdurend" |
| De animatie flikkert wild | Geen wachtblok in de lus | Voeg "wacht 0.2 seconden" toe |
| De score blijft 0 | "Zet score op 0" staat ín de lus | Verplaats het naar vóór de lus |
| Alleen de laatste tekst is zichtbaar | Korte "zeg"-blokken na elkaar | Gebruik de versie mét seconden |
| Het project wordt steeds trager | Klonen worden nooit verwijderd | Eindig elke kloon met "verwijder deze kloon" |
| De sprite begint op de verkeerde plek | Geen reset onder het startblok | Zet "ga naar x/y" direct onder de vlag |
| De sprite hangt ondersteboven | Draaistijl staat op "rondom" | Zet draaistijl op "links-rechts" |
| "Raakt kleur" werkt niet | Kleur op het oog gekozen | Pipetteer de kleur van het speelveld |
| Twee sprites doen niet samen | Ze wachten niet op elkaar | Gebruik een bericht met "zend signaal" |