Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Fai muovere l'eroe in base alla sua velocità.

  1. In _physics_process(), sotto la riga velocity, aggiungi move_and_slide().
  2. 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

Esercitati da solo: Playground Godot