Recolector de monedas: Recolectadas
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 25 de 27.
main.gd contiene las reglas del juego, como cuántas monedas quedan. Main tiene que enterarse de cada moneda que recojas. Así que cada moneda envía una señal y Main las escucha todas.
En coin.gd, declara signal collected y emítela justo antes de que la moneda se libere:
if body.is_in_group("player"):
collected.emit()
queue_free()En main.gd, conecta todas las monedas del grupo, como hiciste con los pinchos:
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)Esto funciona en _ready() de Main porque Godot prepara a los hijos antes que al padre. Para entonces, todas las monedas se habrán unido al grupo.
Desafío
IntermedioEsta vez, dos scripts:
coin.gd: declarasignal collectedy emítela antes dequeue_free().main.gd: en_ready(), conecta cada moneda concollecteda una nueva función_on_coin_collected()que imprimeGot a coin!.
Pruébalo tú mismo
extends Node2D
func _ready():
pass
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Señales y colisiones
6Proyecto: Recolector de monedas
Recolector de monedas: CaminarRecolector de monedas: MonedasPractica por tu cuenta: Playground de Godot