Las áreas se encuentran
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 6 de 27.
Los nodos de Godot vienen con señales integradas. Un Area2D tiene cuatro que usarás a menudo:
body_enteredybody_exited: un cuerpo entró o salió. Los cuerpos son cosas sólidas, comoCharacterBody2DyStaticBody2D.area_enteredyarea_exited: otra área entró o salió.
Un área nunca envía body_entered cuando entra otra área. Las estrellas que caen son áreas, así que la cesta necesita area_entered:
func _ready():
area_entered.connect(_on_star_caught)La función recibe el área que entró, así que toma un valor, como _on_body_entered(body). Puedes ponerle cualquier nombre.
Desafío
FácilHaz que la cesta detecte las estrellas que caen.
- Las estrellas son áreas, no cuerpos. En
_ready(), conectaarea_entereden lugar debody_entered. - Mantén
_on_star_caughtcomo la función.
Pulsa «Jugar»: la consola muestra Caught a star! dos veces, una por estrella. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_star_caught)
func _on_star_caught(star):
print("Caught a star!")
Todas las lecciones de Señales y colisiones
2Señales
Las áreas se encuentranTu propia señalSeñales con valoresLa señal de otro nodoEscucha tu señalPractica por tu cuenta: Playground de Godot