CharacterBody2D
Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 7 sur 28.
Un Node2D traverse les murs. Un CharacterBody2D se heurte aux objets. Dans l’onglet Scène, le Hero est maintenant un CharacterBody2D. Son enfant CollisionShape2D est un cercle, qui représente la taille solide du héros. Les murs et le pilier ont aussi des formes de collision.
Un corps possède une velocity, un Vector2 exprimé en pixels par seconde. La définir ne déplace rien. move_and_slide() déplace le corps selon sa vélocité pendant une image et l’arrête contre tout élément solide :
func _physics_process(delta):
velocity = Vector2(150, 0)
move_and_slide()Déplace les corps dans _physics_process, qui s’exécute au rythme de la physique. move_and_slide() prend en compte la durée de l’image, donc ne multiplie jamais velocity par delta.
Défi
FacileFais déplacer le héros en fonction de sa vitesse.
- Dans
_physics_process(), sous la lignevelocity, ajoutemove_and_slide(). - Indente-la avec une tabulation, comme la ligne ci-dessus.
Appuie sur « Jouer » : le héros glisse vers la droite à 150 pixels par seconde et s’arrête au pilier. Puis appuie sur « Vérifier ».
Essayez vous-même
extends CharacterBody2D
func _physics_process(delta):
velocity = Vector2(150, 0)
Toutes les leçons de Entrées et déplacements
2CharacterBody2D
CharacterBody2DSe déplacer avec une vélocitéLes murs vous arrêtentSe déplacer partoutDiagonales équilibrées5Projet : Héros de jeu de plateforme
Héros : CourirHéros : SauterEntraînez-vous par vous-même : Playground Godot