Menu
CoddyTech
flag Ru iconРусскийdown icon

Сборщик монет: Собрано

Часть раздела Сигналы и столкновения путешествия по Godot на Coddy. Урок 25 из 27.

main.gd хранит правила игры, например, сколько монет осталось. Main должен знать о каждой монете, которую ты подбираешь. Поэтому каждая монета отправляет сигнал, а Main слушает их все.

В coin.gd объяви signal collected и отправь сигнал непосредственно перед тем, как монета удалит себя:

if body.is_in_group("player"):
	collected.emit()
	queue_free()

В main.gd подключи каждую монету из группы, как ты делал со шипами:

for coin in get_tree().get_nodes_in_group("coins"):
	coin.collected.connect(_on_coin_collected)

Это работает в _ready() узла Main, потому что Godot подготавливает дочерние узлы раньше родительского. К этому моменту все монеты уже добавлены в группу.

challenge icon

Задание

Средне

На этот раз два скрипта:

  1. coin.gd: объяви signal collected и отправь его перед queue_free().
  2. main.gd: в _ready() подключи сигнал collected каждой монеты к новой функции _on_coin_collected(), которая выводит Got a coin!.

Попробуйте сами

extends Node2D

func _ready():
	pass
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Сигналы и столкновения

Потренируйтесь самостоятельно: Песочница Godot