Hopp med gravitation

Gör ett hopp genom att modellera gravitation.

Sprajten ska kunna röra sig åt höger och vänster. Den ska också kunna göra ett hopp.

ritprogram

Måla mark och fall neråt

Börja med att göra en bakgrund som har någon färg där marken är. Den kan till exempel ha grönt gräs längst ner.

Vi ska använda två variabler för förflyttning i x- och y-led. Variablerna kan kallas för deltax och deltay, x-steg och y-steg, x-hastighet och y-hastighet, eller något annat.

Hastighet och fart

När man talar om förflyttning utan att bry sig om vilken riktning förflyttningen har, används ordet fart för hur snabbt det går.

När man talar om förflyttning i en speciell riktning, används ordet hastighet för hur snabbt det går och i vilken riktning föremålet förflyttas.

Om en bil svänger men forfarande går lika fort, ändras hastigheten (den byter riktning) men inte farten (den går lika fort).

Till vardags brukar man inte göra någon skillnad mellan de två orden. Till exempel används ordet hastighetsmätare för bilar trots att det är farten som mäts.

Det engelska ordet för fart är speed, hastighet kallas velocity.

kod 1

Sprajten faller nu sakta neråt men det ser inte ut som ett riktigt fall.

Acceleration och gravitation

Om du släpper en penna och låter den falla mot marken så kommer pennan att ha hastigheten noll från början och ganska hög hastighet precis innan den slår i marken. Hastigheten ökar. Pennan accelererar.

Jordens gravitation påverkar fallande föremål så att de acceleras ner mot jorden. Acceleration är sådan att hastigheten ökar lika mycket varje sekund, eller varje minut, eller varje tidsenhet vilken som helst. I en datormodellering ska hastigheten öka lika mycket varje gång datorn tickar.

Om hastigheten i y-led ska öka i riktning neråt, måste sprajten ta ett längre och längre steg neråt. Variabeln delta y kan vara 0 vid första ticket, -1 vid andra ticket, -2 vid tredje ticket, och så vidare.

kod 2

Stanna när sprajten når marken

Sprajten ska sluta falla när den når marken. Den ska bara acceleras när den är i luften.

När sprajten når marken kan den hamna för långt ner. Se till att den alltid har samma y-värde då den nått marken. Testa vilket y-värde som ser bra ut genom att flytta på sprajten och studera sprajtens koordinater.

Ändra koden genom att lägga till ett om-annars-block!

kod 3
y kan behövas sättas till något annnat än -44.

Gör ett hopp

Nu har vi kod som gör att sprajten faller så länge den inte rör marken. Nu är det enkelt att göra ett hopp — se bara till at sprajten tar ett steg uppåt. Steget måste vara så pass långt att sprajten kommer ovanför marken, sedan faller den ned.

För att man inte ska kunna hoppa när sprajten är i luften, kan du se till att sprajten bara hoppar om den rör marken. Lägg till koden:

kod 4

Testkör koden och prova olika värden på hur delta y sätts, då hoppar sprajten olika högt.

Gå vänster/höger och hoppa

Ett enkelt sätt att gå åt vänster eller höger, är att lägga till följande kod:

kod 5

Det går att göra varianter, exempelvis kan man ändra delta x i flera steg så att man kan gå snabbare eller långsammare.

Det är viktigt att all förflyttning i x-led görs med hjälp av variabeln delta x. Det är just kombinationen

kod 6

som gör att rörelsen blir sned.

sned rörelse
Kombinationen ger en sned rörelse.