Menu
CoddyTech
flag Pt iconPortuguêsdown icon

Moedas restantes

Parte da seção Sinais e colisões do Journey de Godot da Coddy. Lição 17 de 27.

Cada moeda aqui conta as moedas restantes quando você a coleta. A primeira imprime Coins left: 3, mas só restam duas.

queue_free() espera até o fim do quadro. Até lá, a moeda ainda está no grupo, então ela conta a si mesma.

Retire a moeda do grupo primeiro com remove_from_group(). Isso funciona imediatamente:

func _on_body_entered(body):
	remove_from_group("coins")
	print("Coins left: ", get_tree().get_nodes_in_group("coins").size())
	queue_free()

As linhas são executadas de cima para baixo, então remove_from_group deve vir antes da contagem.

challenge icon

Desafio

Médio

Corrija a contagem. Remova a moeda do grupo coins antes de contar. Ao pegar as três moedas, deve imprimir Coins left: 2, Coins left: 1, depois Coins left: 0.

Experimente você mesmo

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()
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Sinais e colisões

Pratique por conta própria: Playground de Godot