Las áreas detectan cuerpos
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 1 de 27.
Un Area2D es una zona que detecta lo que entra en ella.
Un Area2D necesita un nodo hijo CollisionShape2D. La forma establece el tamaño del área; aquí es el cuadro verde. Los cuerpos atraviesan un área. No chocan con ella.
Cuando un cuerpo entra, el área envía una señal llamada body_entered. El script de esta zona la escucha:
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")_on_body_entered se ejecuta cada vez que un cuerpo entra en la forma. La próxima lección explica la línea connect. El robot es un cuerpo, pero camina por y = 250, debajo de la zona.
Desafío
FácilColoca la zona en la trayectoria del robot.
- El robot camina por
y = 250. En_ready(), estableceposition.yde la zona en250. - Deja la línea
connectcomo está.
Pulsa «Jugar»: cuando el robot entre, la consola mostrará Welcome to the zone!. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot