Recolector de monedas: Monedas restantes
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 26 de 27.
Main debe saber cuántas monedas quedan. Guarda el número en una variable al principio de main.gd. Cuenta el grupo una vez al inicio y luego resta uno por cada moneda recogida:
var coins_left = 0
func _ready():
coins_left = get_tree().get_nodes_in_group("coins").size()¿Por qué no contar el grupo en _on_coin_collected? La moneda envía collected justo antes de liberarse. Permanece en su grupo hasta el final del fotograma, así que el recuento la incluiría.
Una variable solo cambia cuando la cambias.
Desafío
IntermedioEn main.gd:
- Añade
var coins_left = 0al principio y asígnale el tamaño del grupocoinsen_ready(). - En
_on_coin_collected(), resta uno e imprimeCoins left:y el número, en lugar deGot a coin!.
La primera moneda imprime Coins left: 5.
Pruébalo tú mismo
extends Node2D
func _ready():
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)
func _on_coin_collected():
print("Got a coin!")
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