Menu
CoddyTech

Coletor de Moedas: Moedas Restantes

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

O script Main precisa saber quantas moedas restam. Mantenha o número em uma variável no início de main.gd. Conte o grupo uma vez no início e depois subtraia uma para cada moeda coletada:

var coins_left = 0

func _ready():
	coins_left = get_tree().get_nodes_in_group("coins").size()

Por que não contar o grupo em _on_coin_collected? A moeda envia collected pouco antes de se liberar. Ela permanece no grupo até o fim do quadro, então a contagem a incluiria.

Uma variável só muda quando você a altera.

challenge icon

Desafio

Médio

Faça Main contar as moedas que restam.

  1. No início de main.gd, adicione var coins_left = 0 e, em _ready(), defina seu valor como o tamanho do grupo coins.
  2. Em _on_coin_collected(), subtraia uma moeda e imprima o resultado no lugar de Got a coin!: print("Coins left: ", coins_left).

Pressione “Jogar” e pegue uma moeda: o Console mostra Coins left: 5. Depois, “Verificar”.

Experimente você mesmo

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!")

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

Pratique por conta própria: Playground de Godot