Held: Die Kante erreichen
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 28 von 28.
Das Ziel ist der hohe Vorsprung mit der Flagge. Der Held trägt ein Banner, ein ausgeblendetes Label, auf dem Du hast es geschafft! steht.
Auf dem Boden ist position.y des Helden 278. Auf der Stufe ist der Wert 218 und auf dem Vorsprung 158. Der Held ist also auf dem Vorsprung, wenn er auf dem Boden ist und position.y kleiner als 170 ist:
if is_on_floor() and position.y < 170:
$Banner.visible = trueDer Teil is_on_floor() ist wichtig. Auch ein Sprung vom Boden aus geht kurz durch den Wert 170, aber in der Luft.
Um zu gewinnen, springe über die Grube, dann auf die Stufe und anschließend auf den Vorsprung.
Aufgabe
MittelZeige ein Banner an, wenn der Held den Vorsprung erreicht.
- Füge am Ende von
_physics_process()eineif-Bedingung hinzu:is_on_floor()undposition.y < 170. - Zeige darin
$Banneran.
Drücke „Spielen“ und klettere zum Vorsprung: You made it! wird auf dem Banner angezeigt. Drücke dann „Prüfen“.
Probier es selbst
extends CharacterBody2D
var speed = 220
var acceleration = 1200
var friction = 2400
var gravity = 1000
var jump_velocity = -500
var start_position = Vector2()
func _ready():
start_position = position
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1
move_and_slide()
if position.y > 400:
position = start_position
velocity = Vector2(0, 0)
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
2CharacterBody2D
CharacterBody2DMit Geschwindigkeit laufenWände halten dich aufÜberall laufenAusgewogene Diagonalen5Projekt: Plattformheld
Held: LaufenHeld: SpringenÜbe selbstständig: Godot-Playground