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...


Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.