Las paredes te detienen
Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 9 de 28.
Las paredes y el pilar son nodos StaticBody2D. Un cuerpo estático nunca se mueve. Cada uno tiene una CollisionShape2D para su forma sólida y un ColorRect para dibujarlo.
Solo move_and_slide() comprueba si hay paredes. Al cambiar position, el cuerpo se mueve sin comprobarlo, así que atraviesa las paredes:
position.x += direction * speed * delta # atraviesa las paredes
velocity.x = direction * speed # se detiene al chocar con las paredes
move_and_slide()El texto después de # es un comentario. Godot lo omite.
Un cuerpo que choca contra una pared en ángulo conserva la parte de su movimiento a lo largo de la pared. Se desliza en lugar de quedarse atascado, lo que da nombre a move_and_slide().
Desafío
FácilEste héroe atraviesa el pilar y las paredes. Muévelo con velocity y move_and_slide() para que las paredes lo detengan.
Pruébalo tú mismo
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * delta
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Entrada y movimiento
2CharacterBody2D
CharacterBody2DCamina con velocidadLas paredes te detienenCamina por todas partesDiagonales equilibradas5Proyecto: Héroe de plataformas
Héroe: correrHéroe: saltarPractica por tu cuenta: Playground de Godot