CharacterBody2D
Fa parte della sezione Input e movimento del percorso Godot di Coddy. Lezione 7 di 28.
Un Node2D attraversa i muri. Un CharacterBody2D urta gli oggetti. Nella scheda Scene, ora Hero è un CharacterBody2D. Il suo nodo figlio CollisionShape2D è un cerchio, che rappresenta le dimensioni solide dell'eroe. Anche i muri e il pilastro hanno forme di collisione.
Un corpo ha una velocity, un Vector2 misurato in pixel al secondo. Impostarla non sposta nulla. move_and_slide() sposta il corpo in base alla sua velocità per un fotogramma e lo ferma quando incontra qualcosa di solido:
func _physics_process(delta):
velocity = Vector2(150, 0)
move_and_slide()Sposta i corpi in _physics_process, che viene eseguito in sincronia con la fisica. move_and_slide() applica il tempo del fotogramma, quindi non moltiplicare mai velocity per delta.
Sfida
FacileFai muovere l'eroe in base alla sua velocità.
- In
_physics_process(), sotto la rigavelocity, aggiungimove_and_slide(). - Indentalo con una tabulazione, come la riga sopra.
Premi «Gioca»: l'eroe scivola verso destra a 150 pixel al secondo e si ferma davanti al pilastro. Poi premi «Verifica».
Provalo tu
extends CharacterBody2D
func _physics_process(delta):
velocity = Vector2(150, 0)
Tutte le lezioni di Input e movimento
2CharacterBody2D
CharacterBody2DCammina con la velocitàI muri ti fermanoCammina ovunqueDiagonali corretteEsercitati da solo: Playground Godot