CharacterBody2D
Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 7 von 28.
Ein Node2D geht durch Wände hindurch. Ein CharacterBody2D stößt gegen Dinge. Im Tab Scene ist der Hero jetzt ein CharacterBody2D. Sein untergeordnetes Element CollisionShape2D ist ein Kreis, die feste Größe des Helden. Auch die Wände und die Säule haben Kollisionsformen.
Ein Körper hat eine velocity, einen Vector2 in Pixeln pro Sekunde. Wenn du sie festlegst, bewegt sich nichts. move_and_slide() bewegt den Körper in einem Frame um seine Geschwindigkeit und hält ihn an allem Festen an:
func _physics_process(delta):
velocity = Vector2(150, 0)
move_and_slide()Bewege Körper in _physics_process, das im Takt mit der Physik ausgeführt wird. move_and_slide() berücksichtigt die Zeit des Frames, multipliziere also velocity niemals mit delta.
Aufgabe
EinfachDie velocity des Helden wird auf 150 Pixel pro Sekunde nach rechts gesetzt. Rufe move_and_slide() auf, damit er sich bewegt und an der Säule anhält.
Probier es selbst
extends CharacterBody2D
func _physics_process(delta):
velocity = Vector2(150, 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 DiagonalenÜbe selbstständig: Godot-Playground