¿Quién entró?
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 3 de 27.
El área pasa a tu función el cuerpo que entró. Ese es el body en _on_body_entered(body). Es el nodo en sí, así que puedes leer cualquier cosa que tenga.
body.name es el nombre del cuerpo que entró:
func _on_body_entered(body):
print(body.name)Un name sin más es el nombre de la propia zona, porque el script está en la zona.
Dos cuerpos atraviesan esta zona: tú, el Player, y un Rover ámbar que pasa rodando por su cuenta.
Desafío
FácilHaz que la zona diga quién entró.
- En
_on_body_entered(body), cambiaprint()para que imprima dos valores:body.namey" entered the zone". - Coloca una coma entre ellos.
Pulsa «Jugar»: la consola muestra Rover entered the zone y después Player entered the zone cuando entras. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Something entered the zone")
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot