Simpel platformspil del 1

Det første vi skal have lavet er en sprite, som vi kan styrer. Start med at klikke på tegn ny sprite.

Jeg har tegnet en lille rød cirkel, som min sprite.

Husk hvilken farve, du har givet din sprite, da du skal bruge det senere.

Nu skal vi have lavet den første level. Klik på tegn i menuen baggrunde.

Tegn dine platforme, som du vil have dem vælg 1 farve. Jeg har valgt sort.

 

Tyngdekraft

Vi skal have spriten til at falde. Den skal kunne stå på platformene og ikke falde igennem. Sørg for spriten er aktiveret.

Vi skal starte at lave en variabel, vi kalder "Tyngde kraft"

Find koden (ikke...) i operatorer sæt den sammen med koden (berører farven ... ?) fra registrering. Sørg for at farven er de samme som dine platforme.

 

Sæt den sammen med koden (gentag indtil...) fra Kontrol.  Inde i denne sætter du koden (sæt Tyngdekraft til 0) fra Variabler og (ændre y med 1) fra Bevægelse  

Tag en Tyngdekrafts variabel og sæt den sammen med koden (ændre y med 0) fra Bevægelse

Sæt denne kode ind en (for evigt) kode fra Kontrol. Sæt også koden (ændre Tyngdekraft med 1) Ændre 1 til -2.

Sæt koden (sæt Tyngdekraf til 0) fra Variabler og (når der klikkes på...) fra Hændelser ovenpå. Sæt kodestykkerne sammen sådan her:

Vi har nu lavet en tyngdekraft til vores figur.

Forklaring på koden:

Når vi klikke på start sættes variablen tyngdekraft til 0. Variablen Tyngdekraft vil blive 2 mindre, så længe den ikke rører ved farven sort. Y ændres med variablen Tyngdekraft. Dvs. spriten bevæger sig ned af på scenen. Når spriten rører ved farven sort, falder den ikke længere ned, fordi variablen Tyngdekraft bliver 0. For at spriten ikke skal være midt i platformen ændres y med 1. 

Hvis du prøver spillet nu, kan du se, at når spriten rammer platformen, ser det ud til at den vibrer. Det er fordi den opdatere hvergang skærmen opdatere. Det kan vi undgå, ved at lave vores egen brik.

Gå ind under Mine brikker, vælg (Lav en brik). 

Jeg har kaldt brikken for Grund. Sørg for at der er et flueben ved Kør uden skærmopdatering.

Nu får du en brik ude på programmerings området.

Vi tager nu koden (gentag indtil berører farven....) og sætter på vores nye brik. I stedet for denne kode sætter vi en grund brik

Nu vibrer spriten ikke længere, fordi hele koden kører uden om skærm opdateringen.

Hoppe kode

Vi skal nu have katten til at hoppe når vi klikker pil op.

Start med at lave en variabel, der hedder i luften.

Sæt variablen (I luften) sammen med Operatoren ( ...< 50) ændre 50 til 8

  

Find en ny Operatorer, der hedder (... og ...)

På højre side sætter du koden (I luften < 8). På venstre side sætter du koden (trykket på tasten mellemrum ?) Ændre mellemrum til pil opad.

Sæt denne kode ind i koden (hvis ... så ....) fra Kontrol

Tag Variablen (sæt tyngdekraft til 0) fra Variabler. Sæt den ind i den forrige kode. Ændre 0 til 14.

Tag koden (for evigt) fra Kontrol. Lad den omringe det forrige kode. Sæt (når du klikker på .....) fra Hændelser, øverst

Til sidst skal vi have fat i den tidligere kode. Sæt Variablerne (ændre i luften med 1) og (sæt I luften til 0) ind. Se billedet nedenfor.

Forklaring på kode.

Når vi trykker på pil op og variablen i luften er mindre end 8, så bliver variablen tyngdekraft sat til 14. Det betyder at vores sprite vil hoppe opad op skærmen. Når det sker vil den gamle kode træde til. variablen tyngdekraft vil blive 2 mindre. Det betyder at spriten vil falde ned ad. Samtidig vil variablen I luften stige med 1. Det betyder, at variablen I luften vil blive større en 8. Derfor vil spriten ikke fortsætte opad, selvom du holder pil opad inde. Når spriten rammer farven sort, nulstilles begge variabler, og du kan hoppe igen.

Vertikal bevægelse

Vi skal have spriten til bevæge sig til siderne.

Tag to af koderne (hvis... så) fra kontrol. Sæt dem oven på hinanden. Tag 2 af koderne (trykket på taste mellemrum) fra Registrering. Sæt dem mellem hvis og så. Ændre mellemrum til venstre pil og højre pil.

Tag to af koderne (ændre x med 10) og sæt dem ind i mellem, de andre koder. Under venstre pil ændre du 10 til -6. Under højre pil ændre du  10 til 6.

Til sidst tager du koden (for evigt) fra  Kontrol, og lader den omklamre koden. Til sidst tager du koden (når der klikkes på ...) og sætter ovenpå.

Forklaring på koden:

Når du trykker på venstre pil, vil spriten bevæge sig mod venstre, fordi x bliver mindre. Når du klikker på højre pil vil spriten bevæge sig mod højre, fordi x bliver større.

Opdag om spriten rammer loftet.

Hvis vores sprite rammer en platform, der ligger over den, vil vores kode reager sådan, at den bare ryger op på den platform. Derfor skal vi have lavet vores kode om, så når spriten rammer en platform nedefra, vil den ikke bare ryge igennem.

Vi vender tilbage til vores brik, som vi kaldte grund. Højreklik på den og vælg Rediger

  

Lav den om til et boolean udtryk. Jeg har kaldt den Opad. Et boolean udtryk betyder sandt eller falsk. Vi bruger dette udtryk, fordi vi vil vide vide om tyngdekraft variablen er større end 0.

 

Nu ser vores brik (Grund) således ud:

 

(Opad) kan vi trække ud og sætte sammen med en anden kode. Så tag koden (hvis ... så ... ellers) fra  Kontrol. Sæt (Opad) mellem hvis og så.

Tag koden (ændre y med 10) fra Bevægelse. Placer den, som vist neden under. Ændre 10 til -1.

Tag koden (ændre y med 1) og (sæt I luften til 0), fra koden under brikken Grund. Sæt dem under ellers. Allernederst sætter du koden (sæt Tyngdekraft til 0) 

Sæt den sammen med koden, under brikken Grund.

Nu mangler vi bare, at ændre den anden del af tyngdekrafts koden. Den ser således ud nu:

Der mangler noget ved brikken Grund. Tag koden (... > 50) fra Operatorer. Sæt den sammen med variablen Tyngdekraft. Ændre 50 til 0.

Sæt denne kode ind ved siden af Grund.

Forklaring på kode:

Vi har lavet vores brik om til en boolean. Hvis variablen Tyngdekraften er større end nul, vil brikken Grund sænke y med 1. Ellers gælder den gamle kode. Det betyder at hvis spriten er i luften, og den berører farven sort, vil den ikke gå igennem men falde ned igen.

Slut på del 1. I del 2 udvider vi vores spil med flere baner, liv og point.