Je bent nu het grootste deel van de serie van deze beginners op Scratch. Je hebt een spel gemaakt waarin de gebruiker een kat achtervolgt met een krab, de kat zegt 'Ouch!' wanneer de krab het knipt en een score wordt bewaard. De game bevat enkele animaties en houdt de score bij, die aan het eind wordt weergegeven.
In dit deel blijven we aan dat project werken. We gebruiken een aangepast blok om onze code opgeruimd en gemakkelijker te maken.
Aangepaste blokken hebben een paar toepassingen:
In deze zelfstudie gebruiken we de eerste drie benaderingen.
Om deze tutorial te voltooien, heb je nodig:
We gaan werken met het project dat in het laatste deel van deze serie is gemaakt, over animaties. We gebruiken de items en scripts die we tot nu toe hebben gemaakt en voegen er meer toe.
Afhankelijk van of u met die zelfstudie hebt gewerkt, zijn er twee manieren om aan de slag te gaan met deze zelfstudie:
Je kunt ook gewoon doorgaan met werken in hetzelfde project dat je al hebt gemaakt. Hier is hoe je elk van deze doet (je hoeft het alleen maar te doen).
Open Scratch en ga naar het project dat u wilt dupliceren. Controleer of u op de knop hebt geklikt Zie Inside knop, zodat u de werking van het project kunt zien.
Klik in de werkbalk op Bestand> Opslaan als een kopie:
Scratch opent je nieuwe exemplaar. Hernoem het en begin eraan te werken.
Log in op Scratch en ga naar de pagina voor mijn project over animaties.
Klik op de Zie Inside knop om het project te bekijken:
Klik nu op de Remix knop. Scratch slaat een duplicaat van mijn project op als een nieuw project in uw account. Hernoem het en je bent klaar om te gaan!
Eerst moet u vaststellen waar een aangepast blok uw scripts efficiënter zou maken. In dit project bevat het hoofdscript voor het werkgebied een herhaling van twee lijnen:
wacht 1 sec
verander Timer met -1
Dit is niet veel herhalende code, dus in een echt project kun je ervoor kiezen om het te laten zoals het is, maar voor het doel van deze tutorial laten we het vervangen door een aangepast blok.
Selecteer de Stadium en klik op Meer blokken. Klik op de Maak een blok knop. Je krijgt de Nieuw blok dialoog venster:
Je ziet nu een nieuw script 'hoed' genaamd definiëren Tel af elke seconde
(of hoe je het ook noemt):
Om dit blok te definiëren, moet je blokken toevoegen die onder die 'hoed' vervangen zullen worden. Dit zijn de wacht 1 sec
en verander Timer met -1
blokken.
Zodra je dat hebt gedaan, bewerk je het script met die twee herhalende blokken erin, zodat de twee blokken telkens worden vervangen door je eigen blok. Het script bevat nu 11 codeblokken in plaats van 14:
Dit heeft de code alleen met drie regels in dat script verminderd, maar je kunt zien dat als je grotere routines zou gebruiken of vaker zou herhalen, voor verschillende sprites misschien, het de dingen efficiënter zou maken. Als u een aangepaste blokkering wilt toepassen op al uw sprites, maakt u deze in het werkgebied.
Een andere manier waarop u aangepaste blokken kunt gebruiken, is het vervangen van grote routines in uw scripts, waardoor uw scripts korter en gemakkelijker te beheren zijn. De sprite van de kat heeft momenteel nogal wat blokken in zijn hoofdscript, dus laten we dit principe daarop toepassen.
Dit is wat de cat-scripts er nu uit zien:
Laten we twee aangepaste blokken maken: een voor de routine die de gebruiker vraagt om te definiëren wat de kat zal zeggen, en een voor de routine waarmee de kat reageert wanneer hij door de krab wordt gepakt..
Zorg ervoor dat je de kat hebt geselecteerd en ga naar de Meer blokken sectie. Klik op de Maak een blok knop en geef uw eerste blok een naam. Ik ga het noemen: 'Gebruiker definieert kattengeluid'.
Sleep nu de blokken die die routine uitvoeren naar de 'hoed' voor uw aangepaste blok. De blokken die u moet verplaatsen, zijn de volgende:
vraag Moet de kat miauwen of gillen als hij door de krab wordt gesmoord? en wacht
als antwoord dan miauwt dan
zeg miauw gedurende 2 seconden
anders
als antwoord = schreeuw dan
zeg Schreeuw! gedurende 2 seconden
Zorg ervoor dat je blokken eronder versleept naar het originele script.
Voeg nu de Gebruiker definieert het kattengeluid
blokkeren in je originele script op de plek waar je de bovenstaande blokken hebt verwijderd.
Herhaal dit voor de coderegels onder dat, waarmee een nieuw aangepast blok wordt gemaakt Kat reageert op gevangen worden
, de blokken hieraan toevoegen en het nieuwe toevoegen Kat reageert op gevangen worden
blokkeren naar je originele script.
Dit is wat de scripts van de kat er nu uit zien:
De hoeveelheid code is hetzelfde, maar door de twee routines te scheiden, hebt u het gemakkelijker gemaakt om te zien wat er in uw originele script gebeurt. Dit is een techniek die sommige mensen nuttig vinden, terwijl anderen er misschien de voorkeur aan geven om al je blokken in één lang script bij te houden!
Een ander gebruik voor een aangepast blok is om een recursieve routine te maken, waarin een routine in zichzelf kan worden uitgevoerd. Het is gemakkelijker om uit te leggen door er een te maken.
De Gebruiker definieert het kattengeluid
aangepast blok dat we zojuist hebben gedefinieerd, vraagt de gebruiker om een geluid in te typen dat de kat zal maken. Als de gebruiker 'miauw' of 'schreeuw' typt, reageert het script daarop. Maar wat als de gebruiker iets mist of iets anders typt? Als dat gebeurt, willen we een bericht weergeven aan de gebruiker en de vraag vervolgens opnieuw stellen. We kunnen dat doen door het maken van de Gebruiker definieert geluid
routine recursief.
Selecteer de cat-sprite en bewerk de Gebruiker definieert het kattengeluid
aangepast blok. Begin met het vervangen van de als
blokkeren in de anders
deel van de als - anders
blok met een seconde als - anders
blok. Zorg ervoor dat u de voorwaarden kopieert (antwoord = schreeuwen
) van uw origineel als
blokkeren in de als
deel van het nieuwe als - anders
blok. Verplaats de zeg Schreeuw! gedurende 2 seconden
blokkeren in de als
loop daarin als - anders
blok.
Nu in de anders
deel van de als - anders
blok, voeg deze blokken toe:
sorry, dat heb ik 1 seconde lang niet opgemerkt
zet Timer op 0
Gebruiker definieert het kattengeluid
Hier ziet u hoe uw script er uit zal zien:
Als de gebruiker nu het verkeerde antwoord invoert, zegt de kat: 'Sorry, dat heb ik niet begrepen', de timer wordt op nul gezet en de routine wordt opnieuw uitgevoerd, waarbij de gebruiker wordt gevraagd naar welk geluid de kat wil maken.
Aangepaste blokken zijn een erg handig hulpmiddel in Scratch. Zoals je in deze tutorial hebt geleerd, kun je ze gebruiken om te voorkomen dat je steeds weer een set blokken in je project herhaalt, of je kunt routines definiëren die je vervolgens toevoegt aan een script, waardoor je scripts beter beheersbaar worden. Als u een routine moet herhalen als aan een voorwaarde is voldaan, kunt u een recursieve routine maken zoals de routine die u voor de kat hebt gemaakt.
U kunt ook strings, getallen en Booleaanse invoer in uw aangepaste blokken opnemen, wat betekent dat elke keer dat u een blok toevoegt aan een script, u de manier kunt wijzigen waarop het werkt. Voor meer informatie hierover, bekijk de Scratch-wiki.
Uw Scratch-project is nu voltooid! In het volgende en laatste deel van deze serie zullen we bekijken hoe u uw werk kunt delen en studio's kunt maken om samen te werken.