Coletor de Moedas: Coletadas
Parte da seção Sinais e colisões do Journey de Godot da Coddy. Lição 25 de 27.
main.gd contém as regras do jogo, como quantas moedas ainda restam. Main precisa saber de cada moeda que você coleta. Então, cada moeda envia um sinal, e Main escuta todos eles.
Em coin.gd, declare signal collected e emita-o logo antes de a moeda se liberar:
if body.is_in_group("player"):
collected.emit()
queue_free()Em main.gd, conecte cada moeda do grupo, como você fez com os espinhos:
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)Isso funciona em _ready() de Main porque o Godot prepara os filhos antes do pai. Nesse momento, todas as moedas já entraram no grupo.
Desafio
MédioDesta vez, são dois scripts:
coin.gd: declaresignal collectede emita-o antes dequeue_free().main.gd: em_ready(), conecte o sinalcollectedde cada moeda a uma nova função_on_coin_collected()que imprimeGot a coin!.
Experimente você mesmo
extends Node2D
func _ready():
pass
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
6Projeto: Coletor de Moedas
Coletor de Moedas: AndarColetor de Moedas: MoedasPratique por conta própria: Playground de Godot