Conectar una señal
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 2 de 27.
Una señal es un mensaje que un nodo envía cuando ocurre algo. Un Area2D envía body_entered cuando un cuerpo entra. No ocurre nada hasta que algún código escucha.
Para escuchar, conecta la señal a una función. Hazlo una vez, en _ready():
func _ready():
body_entered.connect(_on_body_entered)Esto significa: cuando ocurre body_entered, llama a _on_body_entered. Godot la llama cada vez que entra un cuerpo.
Escribe el nombre de la función sin paréntesis. _on_body_entered() llamaría a la función inmediatamente.
Desafío
FácilHaz que la zona detecte al jugador.
- En
_ready(), reemplazapasspor una línea que conectebody_enteredcon_on_body_entered. - Escribe el nombre de la función sin paréntesis después.
Pulsa «Jugar» y entra en la zona: la consola muestra Someone came in!. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
func _ready():
pass
func _on_body_entered(body):
print("Someone came in!")
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot