Rullende baggrund i Scratch

I den her tutorial vil jeg vise hvordan man kan lave en baggrund som ruller så man sådan set har en uendelig bane.

Prøv det her.

NB: Denne tutorial tager udgangspunkt i et andet projekt. Se denne anden tutorial før du ser denne 🙂

 

Før vi går i gang skal du starte med at lave 2 baggrunde. De skal have størrelsen 480x360px. Det er en god i de at få dem til at starte i samme højde (Y-aksen) som den anden slutter (Gerne nogle pixels) da det så ser mest flydende ud.

 

Få din baggrund til at køre

Vi vil nu få baggrunden til at køre i uendelighed når figuren når ud til kanten.

Step 1 – Koden til baggrundene

Først og fremmest er det vigtigt at du har uploadet 2 baggrunde som skal uploades som 2 forskellige sprites. Sådan her:

Når det er sikret skal du klikke på baggrund 1 så vi kan begynde at programmere den.

Til at programmere baggrund 1 skal du bruge disse brikker:

  • “Når du klikker på (Grønt start flag)”
  • “Når jeg modtager kant” (Lav din egen meddelelse ved at klikke på meddelelse1 og så lav ny)
  • “Gå til x:0 y:0”
  • 4x “Hvis… …Så”
  • “Gå 10 trin”
  • “Gå -10 trin”
  • “Vent 0.01 sekund”
  • “Gå til x:465 y:0”
  • “Gå til x:-465 y:0”
  • “Trykket på tasten venstre pil?”
  • “Trykket på tasten højre pil?”
  • “[] < [-460]” (Man skal selv skrive tallet efter man har trækket brikken ud)
  • “[] > [460]” (Man skal selv skrive tallet efter man har trækket brikken ud)
  • 2x “(x-position)”

Det kan umildbart virke som ret mange, men du kan se her på billedet hvordan de skal sættes sammen.

Så er koden faktisk færdig i baggrund 1. Nu vil den baggrund faktisk være i stand til at flytte sig, bortset fra at der ikke er nogle andre sprites der udsender “Kant”.

Det koden er her gør at når man klikker på det grønne flag til at starte spillet så vil baggrund 1 gå til koordinaterne x:0 y:0 (Centreret). Den anden del gør at når den modtager en besked kaldet “Kant”, så skal den først finde ud af hvilken pil der bliver trykket på, og så flytte sig til den rigtige side. Derefter skal den tjekke om baggrunden er uden for banen. Hvis den er det går den ud fra banen i den modsatte side og starter forfra.

 

Nu skal vi så til at kode baggrund 2. Den ligner faktisk meget baggrund 1 der er bare en lille detalje, som er at baggrund 2 skal starte uden for banen i stedet for på banen fordi så kommer den lige bagefter baggrund nummer 1. Det du skal bruge er så dette:

  • “Gå til x:465 y:0”
  • “Når du klikker på (Grønt start flag)”
  • “Når jeg modtager kant” (Lav din egen meddelelse ved at klikke på meddelelse1 og så lav ny)
  • 4x “Hvis… …Så”
  • “Gå 10 trin”
  • “Gå -10 trin”
  • “Vent 0.01 sekund”
  • “Gå til x:465 y:0”
  • “Gå til x:-465 y:0”
  • “Trykket på tasten venstre pil?”
  • “Trykket på tasten højre pil?”
  • “[] < [-460]” (Man skal selv skrive tallet efter man har trækket brikken ud)
  • “[] > [460]” (Man skal selv skrive tallet efter man har trækket brikken ud)
  • 2x “(x-position)”

Det skal så sættes sammen på samme måde

 

Færdig

Nu er baggrundene sådan set koden færdig. Desværre kan vi ikke teste noget endnu da der ikke er noget som udsender “Kant”.

 

Step 2 – Koden til figuren

Nu bliver det en smule tricky fordi at der skal ændres i figurens kode. Men bare kig godt efter billederne, og læs teksten så skal det nok gå.

Først skal vi have ændret så at de store blokke går fra at se

Sådan her ud:

Til at se sådan her ud:

Så fjern altså “Sæt retning til….”, “Peg i retning…” og “Gå … trin” inde i “Hvis… …så”.

 

Find blokkene på billedet, og sæt dem sammen som på billedet: (OBS: Tallene skal være de rigtige, ellers kommer det ikke til at fungere)

 

Sæt dem nu sammen med den store blok. Læg mærke til hvilken der skal være hvor… (Tallene)

Nu er der så den mindre blok. Der skal vi tilføje præcis de samme ting og slette de samme ting:

———————>

Så skal de samme blokke indsættes samme steder:

———————>

Så bør begge kode stykker se sådan her ud:

Alt det vi lige har gjort gør at hvis figuren går et stykke ud så stopper den med at bevæge sig, men den kan stadig hoppe. “Kant” beskeden gør at når den bliver sendt ud er det først der, at baggrundene skal begynde at køre. Så ligner det at figuren får en uendelig bane at bevæge sig på.

 

Færdig

Så nu er figuren også kodet færdig og vi er klar til test.

 

Afprøvning

Nu er alt kodet færdig og vi kan nu starte spillet (Klik på det grønne start flag), tryk så på pile tasterne og på mellemrum for at teste at alt virker som det skal. Håber du fik lært noget af denne tutorial, om at få baggrunden til at bevæge sig. 🙂