Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Lass den Helden springen.

  1. Füge zwischen der Gravitationszeile und move_and_slide() eine if-Anweisung für Input.is_action_just_pressed("jump") ein.
  2. Setze darin velocity.y auf jump_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

Übe selbstständig: Godot-Playground