In Bewegungsrichtung schauen
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 20 von 28.
Der Held ist nach rechts gerichtet gezeichnet und blickt auch dann noch nach rechts, wenn er nach links läuft.
Alles, was du vom Helden siehst, befindet sich in seinem Look-Kind. Ein scale.x von -1 spiegelt einen Knoten und seine Kinder von links nach rechts. Spiegle also Look:
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1Spiegle nicht das CharacterBody2D selbst, damit seine Kollisionsform unverändert bleibt. Wenn keine Taste gedrückt ist, ist direction 0 und keines der beiden if wird ausgeführt. Der Held blickt weiterhin in die Richtung, in die er sich zuletzt bewegt hat.
Aufgabe
EinfachLass den Helden in die Richtung schauen, in die er läuft. Setze $Look.scale.x auf -1, wenn er nach links läuft, und auf 1, wenn er nach rechts läuft. Wenn du anhältst, schaut er weiterhin in dieselbe Richtung.
Probier es selbst
extends CharacterBody2D
var speed = 220
var acceleration = 900
var friction = 2400
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
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)
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
1Eingabeaktionen
Drücken zum BewegenLinks und rechtsEine AchseVier RichtungenGerade erst gedrücktNicht behandelte Eingabe4Flüssige Bewegung
Langsam beschleunigenReibungIn Bewegungsrichtung schauenAuf den Bildschirm begrenzenBeide Achsen begrenzenÜbe selbstständig: Godot-Playground