CharacterBody2D
Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 7 de 28.
Um Node2D atravessa paredes. Um CharacterBody2D esbarra nas coisas. Na aba Cena, o Hero agora é um CharacterBody2D. Seu filho CollisionShape2D é um círculo, o tamanho sólido do herói. As paredes e o pilar também têm formas de colisão.
Um corpo tem uma velocity, um Vector2 em pixels por segundo. Defini-la não move nada. move_and_slide() move o corpo pela sua velocidade durante um quadro e o para ao encontrar algo sólido:
func _physics_process(delta):
velocity = Vector2(150, 0)
move_and_slide()Mova os corpos em _physics_process, que é executado em sincronia com a física. move_and_slide() aplica o tempo do quadro, então nunca multiplique velocity por delta.
Desafio
FácilA velocity do herói é definida como 150 pixels por segundo para a direita. Chame move_and_slide() para que ele se mova e pare no pilar.
Experimente você mesmo
extends CharacterBody2D
func _physics_process(delta):
velocity = Vector2(150, 0)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Entrada e movimento
2CharacterBody2D
CharacterBody2DAnde com velocidadeParedes impedem seu avançoAnde por toda parteDiagonais equilibradasPratique por conta própria: Playground de Godot