Nach oben springen
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 13 von 28.
Zum Springen setzt du velocity.y in dem Frame, in dem der Spieler jump drückt, auf eine hohe Aufwärtsgeschwindigkeit. Nach oben bedeutet einen kleineren y-Wert, daher ist die Zahl negativ:
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()Den Weg nach unten musst du nicht programmieren. Die Schwerkraft addiert weiter zu velocity.y, sodass der Held beim Aufsteigen langsamer wird, am höchsten Punkt anhält und zurückfällt.
Verwende is_action_just_pressed, nicht is_action_pressed. Bei einer gedrückt gehaltenen Taste würde die Geschwindigkeit in jedem Frame auf -500 gesetzt, und der Held würde aus dem Bildschirm fliegen.
Aufgabe
EinfachLass den Helden springen.
- Füge zwischen der Gravitationszeile und
move_and_slide()eineif-Anweisung fürInput.is_action_just_pressed("jump")ein. - Setze darin
velocity.yaufjump_velocity.
Drücke auf „Spielen“ und drücke die Leertaste: Der Held springt und landet wieder, und wenn du die Leertaste gedrückt hältst, fliegt er nicht. Klicke dann auf „Prüfen“.
Probier es selbst
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
Alle Lektionen in Eingabe und Bewegung
3Schwerkraft und Springen
Mit Schwerkraft fallenNach oben springenNur vom Boden ausLaufen und springenVariabler SprungDoppelsprungÜbe selbstständig: Godot-Playground