Variabler Sprung
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 16 von 28.
In den meisten Plattformspielen sorgt ein kurzes Antippen für einen kleinen Hüpfer, und wenn du die Taste gedrückt hältst, machst du einen vollen Sprung.
Dazu brichst du den Sprung ab, wenn die Taste losgelassen wird. Input.is_action_just_released("jump") ist in dem einen Frame true, in dem die Taste losgelassen wird. Wenn der Held dann noch aufsteigt, halbiere seine Aufwärtsgeschwindigkeit:
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2velocity.y < 0 bedeutet, dass der Held noch aufsteigt. Ohne diese Bedingung würde ein Loslassen auf dem Weg nach unten den Fall verlangsamen.
Wenn du die Taste über den höchsten Punkt des Sprungs hinaus gedrückt hältst, wird nichts abgebrochen.
Aufgabe
MittelMach aus einem kurzen Druck auf die Sprungtaste einen kleinen Hüpfer.
- Füge nach dem Sprung-
ifeiniffürInput.is_action_just_released("jump")undvelocity.y < 0hinzu. - Halbiere darin
velocity.y.
Drücke „Spielen“: Bei einem kurzen Druck auf die Leertaste hüpft die Figur, und wenn du die Taste gedrückt hältst, macht sie den vollen Sprung. Drücke dann „Prüfen“.
Probier es selbst
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
velocity.x = Input.get_axis("move_left", "move_right") * speed
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