Nur vom Boden aus
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 14 von 28.
Der Held aus der letzten Lektion kann in der Luft beliebig oft erneut springen. Er sollte nur springen, wenn er auf etwas steht.
is_on_floor() ist true, wenn der letzte Aufruf von move_and_slide() den Körper auf einem Boden zurückgelassen hat. In der Luft ist es false.
and verbindet zwei Bedingungen. Das if wird nur ausgeführt, wenn beide wahr sind:
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocityAufgabe
EinfachLass die Spielfigur nur springen, wenn sie auf dem Boden steht. Ein Sprungbefehl in der Luft soll nichts bewirken.
Probier es selbst
extends CharacterBody2D
var gravity = 1000
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()
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
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