Der er mange måder at få ting
til at se lenvende ud,
men princippet er altid det samme.
Hvis du har en masse tegninger eller billeder
hvor hver er en smule anderledes
end den forrige,
og bladrer igennem dem hurtigt nok,
vil det se ud som om tegningen bevæger sig.
I de gode gamle dage
plejede man at tegne alle disse
tegninger i hånden,
og det tog meget lang tid bare at lave
en animation på 3-sekunders.
Heldigvis lever vi i fremtiden.
At programmere en simpel animation
er egentlig nemt.
Og jeg vil vise dig hvordan!
Her til højre kan du se en
nuttet lille bil
på en dejlig lysegul baggrund.
Og ja, det er migselv, der har
designet bilen, tak.
Nå, men herovre
kan I se at vi sætter den
smukke baggrundsfarve.
Vi kalder noStroke()-funktionen for at fjerne
omrids af efterfølgende objekter.
Og her opretter vi en ny variable, x, der er bilens position,
og sætter den til 10.
Du kan se hvad der sker
hvis vi ændrer værdien,
så vil bilen rykke frem og tilbage.
Vi sætter ham lige til 10.
Her sætter vi bilens udfyldningsfarve
og tegner to rektangler,
der udgør bilens krop.
Det første rektangel ser ud til
at være bilens bund
og denne rektangel dens top.
Og her gør vi det samme med hjulene.
Vi sætter udfyldningsfarven
og tegner to ellipser:
En ved "x+25"
og en ved "x+75".
Og så kommer vi til noget nyt.
Dette kaldes en funktionsdefination
Dem lærer I om senere,
så for nu, bare kig på den og
husk hvordan den ser ud.
Det vigtige at lægge mærke til er ordet"draw" og de der paranteser.
Denne krøllede startparentes her og
slutparentesen her.
Hele denne blok kaldes tegneløkken,
eller animationsløkken.
Alt hvad I putter ind mellem
disse krøllede parenteser
bliver kørt igen og meget hurtigt.
Derfor hedder det en løkke.
Og alt udenfor de krøllede parenteser
bliver kun kørt én gang
ved programmets start
Så første trin i at animerer er at have al tegne-
koden ind mellem de krøllede parenteser,
så billedet bliver tegnet igen og igen.
Så lad os gøre det.
Jeg klipper lige al tegne-koden ud
og indsætter det i løkken.
For at lette overskueligheden
af programmet
indenterer jeg det hele ved at
markere det og trykke Tab.
Og nu er det nemt se at denne kode
bliver kørt af løkken.
Som I kan se er alting det samme
og intet er ændret.
Fordi første gang vi kører draw-løkken,
vil computeren sige:
"Okay, opret en ny variable x, sæt den
til 10, tegn to rektangler,
tegn to ellipser."
Og næste gang den bliver kørt
vil den starte forfra og sige:
"Opret en ny variable x, sæt den til 10,
tegn to rektangler, tegn to ellipser."
Og næste gang: "Opret en ny variabel x, sæt den til 10, tegn to rek..."
helt det samme.
Intet er ændret, så selvfølgelig vil
I ikke se nogen animation.
Den tegner bare de samme rektangler og
ellipser ovenpå de gamle.
Husk hvad vi sagde: Hvis noget skal se levende ud,
skal vi ændre tegningen en lille
smule ad gangen.
Så hvis jeg vil have min bil
til at køre fremad,
skal jeg ændre værdien af x, ikk'?
Så lad os bare sætte den til... 11.
Åh nej! Nu kommer den bare til
at være 11 hver gang.
Hvordan skal jeg få værdien af x til
at ændre sig hele tiden
når computeren bare kører den samme kode
om og om igen?
Okay se lige det her trick.
Husk at dette var x opretter
en ny variable.
Når vi har det inde i funktionen som her,
bliver der oprettet en ny
variable x hver gang.
Det vi skal gøre er at flytte variablen
udenfor draw-løkken.
På den måde vil den kun blive
oprettet én gang.
Og hver gang computeren kører dette
kode og ser variablen x,
vil den genbruge den samme variabel med
den værdi vi satte den til sidst.
Så det gør jeg lige; jeg tager
denne variabel
og placerer den udenfor draw-løkken.
Lige nu bliver variablen kun sat én gang.
Og hver gang den møder x
vil x have den samme værdi.
Og lige nu er den sidst sat til 11
så den vil altid være 11.
Og her kommer tricket.
Vi ændrer værdien af x, et
sted inde i draw-løkken,
så den bliver lidt større end før, såden her:
x bliver sat til den gamle værdi af x
plus, lad os sige, 1.
Jaa! Det virker!
Men, det er helt udtværet.
Og hvis I undrer jer over hvorfor
det ser sådan ud,
så er det fordi vi glemte at tegne
baggrunden inde i draw-løkken.
Så den tegner bilen igen og igen,
men man kan stadig se de gamle biler bag den nye.
Så hvis jeg lige putter denne linje ind
i toppen af løkken, sådan her,
and trykker "Restart" så jeg
kan se min bil igen...
Jaa! Det er bare helt perfekt!
Og hvis bilen skal køre hurtigere,
kan vi bare ændre hvor meget vi
forøger x med hver gang.
Så hvis vi sætter det til 10, whoo!
Den er ude af skærmen!
Og jeg kan endda gøre den negativ,
så x-10 og...
Her kommer den!
Lav den positiv igen, ups...
Der var den.
Så her er de vigtige ting at huske:
Dette her kaldes tegneløkken.
I skal placere jeres tegnekode herinde,
så det bliver tegnet igen og igen.
Og så skal I oprette en variabel
udenfor tegneløkken.
Det er meget vigtigt at oprette variablen
udenfor tegneløkken
så vi kan genbruge den samme
variabel hver gang.
Inde i tegneløkken her,
ændrer vi variablen en lille smule,
normalt ved at sætte den til
dens gamle værdi,
plus et tal -- plus eller minus et tal.
Og til sidst vil du også gerne bruge
din variabel et sted i tegnekoden,
så din tegning ser forskellig ud hver gang.
Og... Det er det!