Paredes impedem seu avanço
Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 9 de 28.
As paredes e o pilar são nós StaticBody2D. Um corpo estático nunca se move. Cada um tem um CollisionShape2D para sua forma sólida e um ColorRect para desenhá-la.
Somente move_and_slide() verifica se há paredes. Alterar position move o corpo sem verificar, então ele atravessa as paredes:
position.x += direction * speed * delta # atravessa paredes
velocity.x = direction * speed # bloqueado por paredes
move_and_slide()O texto após # é um comentário. Godot o ignora.
Um corpo que bate em uma parede em ângulo mantém a parte do movimento ao longo da parede. Ele desliza em vez de ficar preso, o que dá nome a move_and_slide().
Desafio
FácilEste herói atravessa o pilar e as paredes. Movimente-o com velocity e move_and_slide() para que as paredes o parem.
Experimente você mesmo
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * delta
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