Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Die 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)
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