Monedas restantes
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 17 de 27.
Cada moneda cuenta las monedas que quedan cuando la recoges. La primera muestra Coins left: 3, pero solo quedan dos.
queue_free() espera hasta el final del fotograma. Hasta entonces, la moneda sigue en su grupo, así que se cuenta a sí misma.
Primero saca la moneda del grupo con remove_from_group(). Se aplica de inmediato:
func _on_body_entered(body):
remove_from_group("coins")
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()Las líneas se ejecutan de arriba abajo, así que remove_from_group debe ir antes del recuento.
Desafío
IntermedioCorrige el conteo. Saca la moneda del grupo coins antes de contarla. Al sacar las tres monedas, debería imprimirse Coins left: 2, Coins left: 1 y después Coins left: 0.
Pruébalo tú mismo
extends Area2D
func _ready():
add_to_group("coins")
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
queue_free()
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