Menu
CoddyTech

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 das letzte 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_velocity
challenge icon

Aufgabe

Einfach

Lass den Helden nur vom Boden aus springen.

  1. Füge dem if des Sprungs mit and eine zweite Bedingung hinzu.
  2. Verwende dafür is_on_floor().

Drücke „Spielen“ und zweimal die Leertaste: Beim zweiten Drücken in der Luft passiert nichts. 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
	if Input.is_action_just_pressed("jump"):
		velocity.y = jump_velocity
	move_and_slide()

Alle Lektionen in Eingabe und Bewegung

Übe selbstständig: Godot-Playground