Aus Das deutschsprachige Scratch-Wiki
Programmieren der Spieler Figur
Zählen wir mal auf, was der Spieler alles können muss: Laufen, Springen und Fallen, Boden, Wände und Neigungen erkennen und Feinde spüren und zum Schluss kann man noch was zum Aussehen machen. Fangen wir mit dem Laufen an.
Laufen
Für das Laufen Brauchen wir eine variable:
(Xg)
Xg steht für X geschwindigkeit. das Skript zum Laufen sieht so aus:
Wenn die grüne flagge angeklickt setze [Xg v] auf [0] wiederhole fortlaufend falls <Taste (Pfeil nach Links v) gedrückt?>, dann ändere [Xg v] um [-1] end falls <Taste (Pfeil nach Rechts v) gedrückt?>, dann ändere [Xg v] um [1] end ändere x um (Xg) setze [Xg v] auf ((Xg) * [0.9]) end
So müsste es jetzt aussehen:
Schau' dir dieses Projekt auf der Scratch-Webseite an...
Springen
so für das Springen brauchen wir diese variable:
(Yg)
was vieleicht klar ist, Yg steht für Y geschwindigkeit kommen wir zum Skript(es ist dasselbe skript wie oben nur mit dem springen erweitert):
Wenn die grüne flagge angeklickt setze [Xg v] auf [0] wiederhole fortlaufend falls <Taste (Pfeil nach Links v) gedrückt?>, dann ändere [Xg v] um [-1] end falls <Taste (Pfeil nach Rechts v) gedrückt?>, dann ändere [Xg v] um [1] end ändere x um (Xg) setze [Xg v] auf ((Xg) * [0.9]) falls <Taste (Pfeil nach oben v) gedrückt?>, dann setze [Yg v] auf [15] //Kann jede beliebige Zahl sein je höher die Zahl desto höher der Sprung! end ändere y um (Yg) end
ACHTUNG!: Dies ist nur der Sprung zum Fallen kommen wir jetzt:
Wenn die grüne flagge angeklickt setze [Xg v] auf [0] wiederhole fortlaufend falls <Taste (Pfeil nach Links v) gedrückt?>, dann ändere [Xg v] um [-1] end falls <Taste (Pfeil nach Rechts v) gedrückt?>, dann ändere [Xg v] um [1] end ändere x um (Xg) setze [Xg v] auf ((Xg) * [0.9]) falls <Taste (Pfeil nach oben v) gedrückt?>, dann setze [Yg v] auf [15] //Kann jede beliebige Zahl sein je höher die Zahl desto höher der Sprung! end ändere y um (Yg) ändere [Yg v] um [-1] // lässt die Figur fallen end
Jetzt sieht es so aus:
Schau' dir dieses Projekt auf der Scratch-Webseite an...
Boden, Wände und Neigungen erkennen
Wenn die grüne flagge angeklickt setze [Xg v] auf [0] wiederhole fortlaufend falls <Taste (Pfeil nach Links v) gedrückt?>, dann ändere [Xg v] um [-1] end falls <Taste (Pfeil nach Rechts v) gedrückt?>, dann ändere [Xg v] um [1] end ändere x um (Xg) setze [Xg v] auf ((Xg) * [0.9]) ändere y um [-1] falls <<Taste (Pfeil nach oben v) gedrückt?> und <wird (platform v) berührt?>>, dann //ACHTUNG!: Hier ist eine Änderung. Wir wollen ja nur springen, wenn der Boden (die Platform) berührt, oder? setze [Yg v] auf [15] //Kann jede beliebige Zahl sein. Je höher die Zahl, desto höher der Sprung! end ändere y um [1] ändere y um (Yg) falls <nicht<wird (platform v) berührt?>>, dann ändere [Yg v] um [-1] // lässt die [[Figur]] fallen end falls <wird (platform v) berührt?>, dann ändere y um [1] falls <wird (platform v) berührt?>, dann ändere y um [1] falls <wird (platform v) berührt?>, dann ändere y um [1] falls <wird (platform v) berührt?>, dann ändere y um [1] falls <wird (platform v) berührt?>, dann ändere y um [1] falls <wird (platform v) berührt?>, dann ändere y um [-5] setze [Xg v] auf ((Xg) * [-1]) ändere x um (Xg) setze [Xg v] auf [0] falls <Taste (Pfeil nach oben v) gedrückt? :: #CC3333>, dann :: #CC3333 //das hier ist das Wall-Jumping(Wand-Hüpfen) es ist rot weil du selbst entscheiden kannst ob du es machen willst falls <(Xg :: #CC3333) > [0] :: #CC3333>, dann :: #CC3333 setze [Xg v] auf [-8] :: #CC3333 sonst setze [Xg v] auf [8] :: #CC3333 end end end end end end end end falls <wird (platform v) berührt?>, dann ändere y um ((Yg) * [-1]) setze [Yg v] auf [0] end
So jetzt sind wir ja schon Fast fertig(die "platform"-Figur musst du einfach malen!)! (Version mit "Wall-Jump"):
Schau' dir dieses Projekt auf der Scratch-Webseite an...