Scratch For Dummies

Del 1: Grundlæggende animation

Introduktion

Lad os starte med bevægelse - det er meget let. Hvis du åbner Scratch, så ser du en kat. Katten er maskot for Scratch:

scratch0.png

Lad os få den til at bevæge sig. Lav følgende script for katten under fanebladet scripts midt i vinduet. De blokke du skal bruge er under områderne Styring og Bevægelse:

scratch1.png

Tryk nu på det grønne flag og katten bevæger sig! Hvordan skete det? De forskellige blokke har følgende funktion:


scratch2.png

Betyder, at de efterfølgende handlinger vil blive udført, når der trykkes på flaget. Enhver blok med én eller flere kommandoer kan udføres ved at dobbeltklikke med musen på blokken.


scratch3.png

Sørger for at katten starter det samme sted hver gang, nemlig i (0,0).


scratch4.png

Får katten til at flytte sig i en blød bevægelse hen til punktet (50,50).


Spillerkontrol

Lad os prøve noget, der er lidt sværere:

scratch5.png

Tryk på flaget og prøv derefter at trykke på piletasterne til højre og venstre.

Katten skulle gerne flytte sig når du trykker på pilene.


scratch6.png

Betyder, at de efterfølgende handlinger vil blive udført, når der trykkes på en bestemt knap - her venstrepil.


scratch7.png

Ændrer x-koordinaten for spriten. Hvis tallet er negativt, så går katten til venstre.


Husk, at alle scripts skal starte med en blok med en hat! Her har vi brugt blokkene Når du klikker på flag og Når du trykker på.

Drejning og trin

Vi er klar til noget, der er lidt sjovere.

Lav følgende script, tryk på det grønne flag og brug venstre- og højre piletasterne:

scratch8.png

Hvad sker der nu med katten? Den drejer mens den bevæger sig!

Først bliver katten centreret og peger mod højre, 90 grader.

Katten bliver både drejet 15 grader med og mod uret. Katten går derefter et antal skridt i den retning, den peger. Her betyder det, at katten drejer rundt om sig selv.

Husk retningerne: 0, op. 90, højre. 180, ned. 270 (-90 i Scratch), venstre.

Del 2: Udseende og effekter

Introduktion

Lav følgende scripts for katten:

scratch9.png

Tryk på det grønne flag og tryk derefter på mellemrum nogle gange. Smarte farver - eller hvad..?

Det virker ved, at scriptet først fjerner alle grafiske effekter. Derefter ændres farveeffekten med 25 hver gang du trykker på mellemrum.

Prøv at ændre en anden effekt som fx. vrid eller spøgelse. Det er muligt at ændre de effekter, der er vist i følgende figur:

scratch10.png

Udtryk og talebobler

Følgende blokke kan bruges til udtryk - dvs. udséendet af en sprite - og talebobler:

scratch11.png

De udtryk, der er tilgængelige for en sprite ligger under fanebladet udtryk. For vores Sprite kat har vi fra starten følgende to udtryk:

scratch11a.png

Prøv at lave følgende scripts for katten og tryk på mellemrum nogle gange:

scratch12.png

Nu bevæger katten sig rigtig fint. Hvordan skete det?

Først bliver katten centreret og han fortæller os, hvordan vi skal få ham til at bevæge sig.

Når vi trykker på mellemrum skifter udtrykket og katten går til højre.

Størrelse og vis/skjul

Følgende blokke kan bruges til at ændre størrelse på en sprite og skjule og vise spriten:

scratch13.png

De første tre blokke kan bruges til at ændre størrelsen på en sprite. Dette sammensat med lag (se næste afsnit) kan bruges til at skabe illusionen af et 3D spil.

De sidste to blokke er simple, men effektfulde: De viser og skjuler en sprite. Når en sprite er skjult kan den ikke udføre når du klikker på scripts eller håndtere kollisioner med andre sprites.

Lag

Følgende blokke bruges til lag:

scratch14.png

Du spørger nok hvad lag er. Når du bruger kom ind foran så vises spriten foran alle andre sprites. Når du bruger gå # lag tilbage så går spriten bagved de andre sprites. Lag har dermed betydning for i hvilken rækkefølge sprites bliver vist.

Din første Scratch animation

Prøv at lave en lille animation ud fra dét, du har lært indtil videre. Prøv fx. at lave en sprite, der bliver styret med piletaster og ændrer udseende gennem animationen.

Del 3: Løkker og booleans

Introduktion

I dette afsnit vil vi gennemgå løkker og de fleste af de blokke, der bruges til sansning.

En løkke er en række af kommandoer, der bliver gentaget enten et bestemt antal eller uendelig mange gange. Lad os prøve en simpel løkke:

scratch15.png

Her har vi brugt løkken for evigt, der gentager de kommandoer, der ligger inde i løkken, for evigt - dvs. i princippet uendelig mange gange, eller indtil vi stopper programmet.

Der findes følgende slags løkker i Scratch:


scratch16.png

Gentager én eller flere kommandoer "for evigt".


scratch17.png

Gentager én eller flere kommandoer "for evigt", hvis et (boolsk) udtryk er sandt (se næste afsnit).


scratch18.png

Gentager én eller flere kommandoer et bestemt antal gange.


scratch19.png

Gentager én eller flere kommandoer indtil et (boolsk) udtryk bliver sandt.


Boolske udtryk

Et boolsk udtryk kan være enten sandt eller falsk. Det er et såkaldt logisk udtryk.

Hvis du kigger på kommandoerne til sansning, så er der mange boolske udtryk, vi kan bruge.

Vi vil prøve at lave en anden version af de første scripts, der fik katten til at bevæge sig:

scratch20.png

Vi har lært at løkker, der bruger boolske udtryk, bliver udført, hvis det boolske udtryk er sandt.

Hvad nu hvis vi vil udføre løkken, hvis et boolsk udtryk er falsk. Gå til afsnittet Operatorer og brug ikke blokken. Følgende blokke kan bruges til at sammensætte boolske udtryk:


scratch21.png

Hele udtrykket er sandt hvis begge udtryk er sande.


scratch22.png

Hele udtrykket er sandt hvis ét af udtrykkene er sande.


scratch23.png

Hele udtrykket er sandt hvis udtrykket er falsk!


Bemærk, at udseendet af blokkene i Scratch viser, hvilken type det er:

  • Hat: Starter en række af kommandoer.
  • Normal: En kommando.
  • Diamant: Boolsk udtryk
  • Rund: Et tal.
  • C: En løkke.

Forbedring af din Scratch animation

Prøv at ændre/forbedre den Scratch animation, du lavede tidligere, med løkker og boolske udtryk.

Del 4: Matematik og tal

Introduktion

Hvorfor MATEMATIK? Jeg hader MATEMATIK!!

Hvis du mener dette, så spring dette afsnit over og lad være med at læse det - men du vil fortryde det!

Matematik er en vigtig del af Scratch projekter. Mange gode projekter - endda nogle ganske simple projekter - kræver en matematisk formel/udregning.

Eksempel: Forestil dig, at du gerne vil beregne et antal point baseret på, hvor mange fjender, brugeren har slået ihjel og hvor lang tid, der er tilbage.

Følgende script beregner antallet af point ved at gange den tid, der er tilbage, med antallet af dræbte fjender og dividerer resultatet med 2. Det er vores formel i dette tilfælde (vil du afvikle scriptet og have der skal ske noget fornuftigt, skal du lige tilføje noget kode du selv laver):

scratch24.png

Følgende er de basale matematik blokke, hvor du burde kunne genkende de fire første blokke:

scratch25.png

Den sidste blok vælger et tilfældigt tal - her mellem 1 og 10.

De næste tre blokke bruges til at sammenligne tal:


scratch26.png

Giver et sandt boolsk udtryk, hvis første tal er mindre end andet tal.


scratch27.png

Giver et sandt boolsk udtryk, hvis første tal er større end andet tal.


scratch28.png

Giver et sandt boolsk udtryk, hvis første tal er lig med andet tal.


Del 5: Styring

Introduktion

Lav en ny sprite - den får vi brug for om lidt.

Beskeder

Beskeder er vigtige til at lave gode spil. De virker i bund og grund blot ved at en sprite sender en besked til en anden sprite, der så udfører et script.

Lav følgende script på den første sprite:

scratch29.png

og følgende på den anden sprite:

scratch30.png

Klik på det grønne flag. Hvis Sprite2 siger Modtaget!, så har du gjort det godt. Tillykke!

Blokken

scratch31.png

sender beskeden og venter med at udføre flere blokke indtil alle sprites, der lytter på beskeden, har modtaget den.

Afslutte scripts

Følgende to blokke kan bruges til at afslutte scripts:

scratch32.png

Den første afslutter det script, hvor blokken findes i. Den anden blok afslutter alle scripts.

Prøv at lave følgende script:

scratch33.png

Spriten vil fortsætte med at skifte farve indtil du trykker på mellemrum, der stopper alle scripts.

Vent

Følgende blokke gør det muligt at vente mellem to kommandoer:


scratch34.png

Venter et givet antal sekunder inden scriptet fortsætter med at udføre kommandoer.


scratch35.png

Venter indtil et boolsk udtryk er sandt inden scriptet fortsætter med at udføre kommandoer.


Del 6: Lyde

Introduktion

Lyde er en vigtig del af et Scratch projekt - de giver det liv. I dette afsnit vil vi lære, hvordan man bruger lyde i sine projekter.

Vælg en sprite og vælg fanebladet lyde. Fra starten har Scratch katten kun lyden "mjav". Prøv at afspille den.

Lad os bruge den i et script.

scratch36.png

Blokken spil lyden spiller den lyd, vi vælger i blokken. Følgende blok afspiller også lyden, men fortsætter ikke med at udføre flere blokke før lyden er helt færdig:

scratch37.png

Blokken stop al lyd kan bruges til at afbryde enhver afspilning af lyd.

MIDI

Du finder også nogle MIDI blokke i Scratch:

scratch38.png

Leg med lyde

Prøv at lege med MIDI blokke og komponér din egen melodi.

Følgende er et eksempel på en melodi i Scratch:

scratch39.png
Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License