Menu
CoddyTech

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 eine gedrückt gehaltene Taste für einen vollen Sprung.

Dazu wird der Sprung abgebrochen, wenn die Taste losgelassen wird. Input.is_action_just_released("jump") ist in dem einen Frame wahr, in dem die Taste losgelassen wird. Steigt der Held in diesem Moment noch auf, halbiere seine Aufwärtsgeschwindigkeit:

if Input.is_action_just_released("jump") and velocity.y < 0:
	velocity.y = velocity.y / 2

velocity.y < 0 bedeutet, dass der Held noch aufsteigt. Ohne diese Bedingung würde ein Loslassen auf dem Weg nach unten den Fall verlangsamen.

Hältst du die Taste bis über den höchsten Punkt des Sprungs hinaus gedrückt, wird nichts abgebrochen.

challenge icon

Aufgabe

Mittel

Mach aus einem kurzen Antippen von jump einen kleinen Hüpfer. Wenn die Taste losgelassen wird, während der Held noch steigt, halbiere velocity.y. Wenn du die Taste gedrückt hältst, wird weiterhin der volle Sprung ausgeführt.

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()
quiz iconTeste dich selbst

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

Übe selbstständig: Godot-Playground