Menu
CoddyTech

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.

challenge icon

Desafío

Intermedio

Esta vez, dos scripts:

  1. coin.gd: declara signal collected y emítela antes de queue_free().
  2. main.gd: en _ready(), conecta cada moneda con collected a una nueva función _on_coin_collected() que imprime Got a coin!.

Pruébalo tú mismo

extends Node2D

func _ready():
	pass
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de Godot