4 · Dansende kat

Je maakt een kat die écht danst: hij wisselt van kostuum, hij pulseert in kleur, hij wordt groter en kleiner, en er speelt muziek bij. Dit is je eerste project dat er af uitziet. En je leert het geheim achter elke animatie: een animatie is niets anders dan plaatjes na elkaar — en het belangrijkste blok is niet het plaatje, maar de pauze ertussen.

★★☆ gemiddeld 10 stappen ongeveer 40 minuten

Wat leer je?

  • Wat kostuums zijn en hoe je ze in het tabblad Kostuums bekijkt
  • Animeren met "volgend kostuum" — en waarom "wacht ... seconden" onmisbaar is
  • Een geluid toevoegen via het tabblad Geluiden
  • Het verschil tussen "start geluid" en "speel geluid tot het klaar is"
  • Grafische effecten gebruiken en ze weer netjes wissen bij de start
  • Meerdere scripts naast elkaar laten draaien op één sprite

Wat heb je nodig?

  • Een nieuw, leeg Scratch-project met de gewone kat-sprite
  • Geluid op je computer, of een koptelefoon
  • De lus "herhaal voortdurend", die je kent uit opdracht 3

Werk je offline? Dan zit de geluidenbibliotheek gewoon in de app, je hebt geen internet nodig.

Stap voor stap

Je bouwt hier drie kleine scripts naast elkaar op dezelfde sprite: één voor de dans, één voor het geluid en één voor de effecten. Bouw ze in deze volgorde en test tussendoor — zo weet je meteen welk script iets stuk maakt. Vink een stap af als hij klaar is; je browser onthoudt dat.

1

Bekijk eerst de kostuums van je kat

Uiterlijk

Klik linksboven op het tabblad Kostuums (naast Code). Je ziet dat de kat er twee heeft: "kostuum1" met de pootjes bij elkaar en "kostuum2" met de pootjes uit elkaar. Klik ze om beurten aan en kijk naar het speelveld. Meer heeft Scratch niet nodig om een kat te laten stappen — twee tekeningen, snel achter elkaar. Ga daarna terug naar het tabblad Code en zoek in de paarse categorie Uiterlijk deze twee blokken op.

verwissel naar kostuum kostuum2
volgend kostuum
Twee blokken, twee gewoontes. Met "verwissel naar kostuum ..." kies je een bepaald plaatje — handig als je precies wil weten hoe je sprite erbij staat. Met "volgend kostuum" ga je gewoon één plaatje verder, en na het laatste begint Scratch weer bij het eerste. Dat is precies wat je voor een eindeloze animatie wil.
  • Ik heb de twee kostuums van de kat bekeken
2

Bouw de dansmotor

Besturing

Neem uit Gebeurtenissen het groene-vlag-hoedblok, klik daaronder uit Besturing het blok "herhaal voortdurend", en zet in de mond van die lus het blok "volgend kostuum". Klik nu al eens op de groene vlag en kijk goed naar je kat.

als wordt aangeklikt
herhaal voortdurend
volgend kostuum
Dit ziet er nog niet uit. Je kat flikkert als een kapotte lamp en je ziet allebei de kostuums door elkaar. Dat is geen fout — het is precies wat je hebt gevraagd. Los dat in de volgende stap op; laat het script gewoon staan.
  • Mijn kat wisselt van kostuum, maar veel te snel
3

Zet er een rem op: wacht 0.2 seconden

Besturing

Sleep uit Besturing het blok "wacht 1 seconden" in de lus, onder "volgend kostuum", en typ er 0.2 in. Let op: gebruik een punt, geen komma — Scratch rekent met een punt als decimaalteken. Klik op de vlag: nu stapt je kat rustig ter plaatse.

als wordt aangeklikt
herhaal voortdurend
volgend kostuum
wacht 0.2 seconden
Waarom flikkerde het zonder "wacht"? Een lus draait ongeveer 30 keer per seconde. Zonder rem wisselt je kat dus dertig keer per seconde van kostuum — zo snel dat je ogen de twee plaatjes tegelijk zien in plaats van na elkaar. Met 0.2 seconden ertussen zie je vijf wissels per seconde: dat leest je oog als één bewegende kat. Probeer ook eens 0.05 (te snel, hij trilt) en 1 (te traag, hij lijkt te aarzelen). De pauze bepaalt dus het tempo van je dans — daar mag je later gerust mee spelen op de maat van je muziek.
  • Mijn kat danst in een rustig, zichtbaar tempo

Testmoment — de dans alleen

controle

Klik op de groene vlag en daarna op de rode stopknop. De kat hoort te dansen zolang het project draait, en meteen stil te vallen als je stopt. Lukt dat niet?

  • Blijft je kat flikkeren? Dan staat "wacht 0.2 seconden" waarschijnlijk buiten de lus. Kijk of het blok ingesprongen in de mond staat.
  • Beweegt er niets? Dan hangt "volgend kostuum" onder de lus in plaats van erin — en alles wat onder "herhaal voortdurend" hangt, komt nooit aan de beurt.
  • Danst hij heel traag? Kijk of je per ongeluk 2 hebt getypt in plaats van 0.2, of een komma in plaats van een punt.
  • Wisselt er maar één poot? Kijk in het tabblad Kostuums of je écht twee kostuums hebt staan en er niet per ongeluk één verwijderd is.
  • Mijn kat danst netjes en stopt bij de rode knop
5

Haal een geluid uit de bibliotheek

Geluid

Klik linksboven op het tabblad Geluiden — het derde tabblad, naast Kostuums. Je ziet dat je kat al één geluid heeft: "Miauw". Ga linksonder naar het luidsprekertje met het plusje, kies Kies een geluid en klik bovenaan op de categorie Loops. Beluister er een paar met het afspeelknopje en klik er één aan, bijvoorbeeld Dance Around. Ga terug naar Code: in de roze categorie Geluid staat je nieuwe geluid nu gewoon in het lijstje.

als wordt aangeklikt
start geluid Dance Around
Bouw dit als een tweede, los script. Zet dit hoedblok gewoon naast je dansscript in het codegebied. Eén sprite mag zoveel groene-vlag-scripts hebben als je wil, en ze starten allemaal tegelijk. Zo blijft elk script over één ding gaan — dat maakt fouten zoeken veel makkelijker.
  • Ik hoor mijn geluid als ik op de vlag klik
6

"start geluid" of "speel geluid tot het klaar is"?

Geluid

Je muziek stopt na één keer. Bouw je geluidsscript om: zet er een "herhaal voortdurend" in en vervang "start geluid" door "speel geluid ... tot het klaar is". Nu blijft je muziek netjes doorlopen zolang je project draait.

als wordt aangeklikt
herhaal voortdurend
speel geluid Dance Around tot het klaar is
Het verschil in één zin: "start geluid" zet het geluid aan en gaat meteen door naar het volgende blok, "speel geluid ... tot het klaar is" wacht tot het laatste toontje voorbij is. Zet je "start geluid" in een eeuwige lus, dan begint je muziek dertig keer per seconde opnieuw en hoor je alleen nog een gekmakend geratel. Gebruik "start geluid" dus voor korte effectjes die door iets anders heen mogen (een sprongetje, een punt), en "tot het klaar is" voor muziek of gesproken zinnen die af moeten spelen.
  • Mijn muziek speelt door en herhaalt zichzelf

Testmoment — dans én muziek

controle

Klik op de groene vlag. Je kat danst en de muziek loopt, en die twee scripts draaien echt naast elkaar. Klopt er iets niet?

  • Hoor je een ratel in plaats van muziek? Dan staat "start geluid" nog in de lus in plaats van "speel geluid ... tot het klaar is".
  • Hoor je niets? Kijk of je geluid niet uit staat op je computer, en of in het blok wel je nieuwe geluid gekozen is en niet nog "Miauw".
  • Stopt de dans nu ineens? Dan heb je het geluid per ongeluk in je dansscript geplakt. Sleep het geluidsblok eruit en geef het een eigen groene-vlag-hoedblok.
  • Blijft de muziek doorspelen na de rode stopknop? Klik nog eens op stop — Scratch laat de laatste noot altijd even uitklinken.
  • Dans en muziek lopen tegelijk
8

Laat je kat van kleur wisselen

Uiterlijk

Bouw een derde script, weer met een eigen groene-vlag-hoedblok. Zet er uit Uiterlijk eerst "wis grafische effecten" onder, dan een "herhaal voortdurend" met daarin "verander kleur effect met 25" en een "wacht 0.2 seconden".

als wordt aangeklikt
wis grafische effecten
herhaal voortdurend
verander kleur effect met 25
wacht 0.2 seconden
Waarom "wis grafische effecten" bovenaan? Effecten blijven staan als je stopt. Zet je je project stil terwijl je kat knalgroen is, dan is hij bij de volgende start nóg groen — en na een middag testen weet niemand meer welke kleur "normaal" was. Dat ene blok bij de start zet alle effecten (kleur, vissenoog, doorzichtig, ...) weer op nul, zodat elke ronde identiek begint. Zie het als opruimen vóór je begint. En let op de 0.2: zonder pauze wisselt de kleur dertig keer per seconde en krijg je een felle stroboscoop — niet fijn om naar te kijken.
  • Mijn kat wisselt rustig van kleur en start altijd in zijn eigen kleur
9

Laat hem pulseren op de maat

Uiterlijk

Breid je derde script uit. Zet onder "wis grafische effecten" het blok "maak grootte 100 %", zodat je altijd op dezelfde maat begint. Sleep daarna in de lus, onder je kleurblok, twee keer het blok "herhaal 10" uit Besturing, met daarin "verander grootte met 5" en "verander grootte met -5". Zo zwelt je kat tien stapjes op en krimpt hij er weer tien terug — precies terug op 100. Het "wacht"-blok mag nu weg: die twintig stapjes duren zelf al even.

als wordt aangeklikt
wis grafische effecten
maak grootte 100 %
herhaal voortdurend
verander kleur effect met 25
herhaal 10
verander grootte met 5
herhaal 10
verander grootte met -5
Let op het evenwicht. Tien keer +5 is +50, tien keer -5 is -50: samen precies nul, dus je kat komt elke ronde exact terug op zijn oorspronkelijke maat. Maak je de twee getallen ongelijk (bijvoorbeeld +5 en -3), dan groeit je kat elke ronde een beetje en na een minuut past hij niet meer op het scherm. Dat is meteen de reden waarom "maak grootte 100 %" bovenaan staat: het zet je kat terug op zijn normale maat, hoe erg je ook geëxperimenteerd hebt. Tip: wil je een ander ritme? Speel met het aantal herhalingen: met "herhaal 5" pulseert je kat vlugger én kleiner, met "herhaal 20" trager én groter.
  • Mijn kat wordt groter en weer kleiner, en blijft even groot uitkomen

Testmoment — alles tegelijk

controle

Klik op de groene vlag en zet je project op volledig scherm. Vier dingen gebeuren nu tegelijk: kostuums wisselen, muziek speelt, kleur draait en de kat pulseert. Klopt er iets niet?

  • Wordt je kat steeds groter? Tel je stapjes na: het aantal keer +5 moet exact even groot zijn als het aantal keer -5.
  • Is je kat onzichtbaar of half doorschijnend? Klik op de vlag — "wis grafische effecten" zet alles terug. Nog steeds weg? Kijk of er ergens een "verdwijn"-blok tussen staat.
  • Loopt alles schokkerig? Zet je wachttijden iets hoger, of test even zonder het geluidsscript.
  • Start er een script niet? Elk van de drie moet een eigen groene-vlag-hoedblok hebben. Twee scripts kunnen niet één hoedblok delen.
  • Alles goed? Sla je project op via Bestand → Opslaan op je computer.
  • Mijn opdracht 4 is af

Het volledige script

Drie losse scripts op één sprite, allemaal gestart door dezelfde groene vlag. Ze staan gewoon naast elkaar in je codegebied.

als wordt aangeklikt
herhaal voortdurend
volgend kostuum
wacht 0.2 seconden
als wordt aangeklikt
herhaal voortdurend
speel geluid Dance Around tot het klaar is
als wordt aangeklikt
wis grafische effecten
maak grootte 100 %
herhaal voortdurend
verander kleur effect met 25
herhaal 10
verander grootte met 5
herhaal 10
verander grootte met -5
De klassieke beginnersfout Een animatielus bouwen zonder "wacht ... seconden" erin. Je kat wisselt dan dertig keer per seconde van kostuum en je ziet een flikkerende brij in plaats van een dans. Dezelfde fout in het geluid is nog vervelender: "start geluid" in een eeuwige lus herstart je muziek dertig keer per seconde, zodat je alleen het allereerste stukje hoort — een ratelend geluid dat klinkt alsof je computer stuk is. Vuistregel: elke eeuwige lus die iets zichtbaars of hoorbaars doet, heeft een rem nodig — een "wacht"-blok of een blok dat zélf wacht, zoals "speel geluid tot het klaar is".

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.

A

Een dansvloer met discolicht

makkelijk

Kies rechtsonder een achtergrond uit de bibliotheek (bij Muziek staan er mooie) en laat ook die van kleur wisselen. Tip: klik op de achtergrond in plaats van op de kat — ook een achtergrond heeft een eigen codegebied, met bijna dezelfde blokken.

B

Een danstruc met meer kostuums

middel

Voeg een sprite toe die veel meer kostuums heeft — zoek in de spritebibliotheek eens op Cassy Dance, Champ99 of Anina Dance. Laat die met "volgend kostuum" dansen. Zoek daarna een wachttijd die precies op de maat van je muziek valt. Tip: meer kostuums betekent dat één rondje langer duurt, dus een kortere pauze werkt vaak beter.

C

Een dansgroep die om beurten start

pittig

Maak vier dansers naast elkaar die niet allemaal tegelijk beginnen, maar telkens een halve tel later — zoals een wave in een stadion. Tip: elke sprite krijgt hetzelfde script, maar bij drie ervan zet je vóór de lus een extra "wacht ... seconden" met een ander getal. Lukt dat? Geef ze dan ook elk een eigen kleureffect.

3 · De eeuwige stuiterbal 5 · Vang de vallende appels