Koordinat och riktning

Film: Koordinat och riktning

Innan vi går vidare med programmeringen ska vi titta närmare på två mycket viktiga delar av programmet. Dessa delar är, vilket rubriken antagligen avslöjat, koordinat och riktning.

Koordinat

När vi talar om koordinat i Scratch gäller detta en sprites position på scenen. Du ser enklast vilken position en sprite har genom att titta på X- och Y-värdet överst i scriptytan.

Du hittar också ett X- och Y-värde i ytan mellan spritelistan och scenen. Det är muspekarens position.

Koordinatsystemet fungerar så här.

Scenen är 480 enheter bred och 360 enheter hög. Mitten av scenen har ett X-värde på 0 och ett Y-värde på 0. På bredden sträcker scenen ut sig mellan X -240 och X 240. På höjden mellan Y -160 till Y 160. Varje punkt på scenen kan alltså anges med ett X- och Y-värde.

Riktning

När vi talar om riktning i Scratch är detta förhållandet mellan en tänkt mittlinje i spriten och det håll spriten förflyttar sig åt.

Riktningssystemet är givetvis indelat i 360°. Men riktningen anges med ett värde mellan -179 och 180. Rakt upp har riktningen 0, höger har riktningen 90, vänster -90 och rakt ner 180.
Spritens riktning ser vi även den överst i scriptytan.

Programmera med koordinat och riktning

  • Importera nu en ny sprite, välj fladdermusen, bat2-a.
  • Importera också den andra klädseln, bat2-b.
  • Döp klädslarna till flax1 och flax2.
  • Markera knappen som inte tillåter fladdermusen att rotera.
  • Bygg ett script som ser ut så här.

Vi börjar med att placera fladdermusen på det ställe vi vill att den ska starta på i scenen. Öppna nu rörelsepaletter och dra in en "gå till x:_ y:_". Som ni ser är värdena för spritens aktuella position redan ifyllda. Sätt biten högst upp i skriptet utanför "för alltid"-klämman.
Skulle vi starta scriptet nu, skulle fladdermusen gå till startpositionen och därefter precis som hunden röra sig fram och tillbaka. I projektplanen skrev jag att vi vill att den ska flaxa kors och tvärs över scenen. För att spriten ska kunna göra det måste vi använda oss av riktning.
I rörelse finns en bit som heter "peka i _ riktning"; dra in en sådan i scriptet. Sätt den under "gå till"-biten.
Öppna operatorpaletten och dra in en "slumptal _ till _" och sätt den i "peka i _ riktning"-bitens värderuta. Fyll i värdena 50 till 150.
Detta innebär att spriten kommer att peka i en slumpmässigt vald riktning med ett värde mellan 50 och 150, vilket är åt höger.

Detta sätt att programmera har vissa svagheter; jag kan inte välja ett spann mellan -90 och 90 över nedåtgående riktning. Det är ändå ett bra sätt att skriva scriptet på eftersom det är enkelt.
Kopiera nu hela spriten och ändra värdena så att de ser ut så här.

Glöm inte att byta namn till Fladdermus2.
Starta scriptet och beundra det du skapat.