In Scratch kannst Du eine Figur sehr einfach zum springen bringen, indem Du einfach „ändere y um …“ einsetzt. Dies sieht jedoch ziemlich holprig aus. Wenn Du zusätzlich noch auf einen Begrenzer verzichtest, dann kann die Figur immer weiter nach oben springen, ohne jemals zu landen. Bei einem Jump’n’Run sind diese Dinge unerwünscht.
Hier hast Du eine elegantere Lösung:
Um diese Bewegung zu erreichen, musst Du zwei Dinge berücksichtigen:
- Doppelsprung verhindern:
Dies erreichst Du, indem Du eine Variable definierst (im untenstehenden Fall „GroundContact“), welche den Zustand ändert, sobald Du den Boden verlässt und den Zustand wieder ändert, wenn die Figur den Boden wieder berührt. Mit einer „falls sonst“ Schlaufe kannst Du verhindern, dass eine Aktion ausgeführt wird, solange die Figur in der Luft ist.
2. Gravitation berücksichtigen:
Du kannst eine Variable (im untenstehenden Fall „ySpeed“) definieren, welche eine Anfangsgeschwindigkeit definiert (hier der Wert 10), mit der die Figur beginnt, nach oben zu springen. Anschliessend verringert sich dieser Wert stetig (hier um -0.4), bis zu dem Punkt, wo sie wieder nach unten fällt.
