Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Coloca la zona en la trayectoria del robot.

  1. El robot camina por y = 250. En _ready(), establece position.y de la zona en 250.
  2. Deja la línea connect como 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