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

Уклонение: очки

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

В Dodge вы получаете одно очко за каждую секунду, которую продержитесь. В сцене есть второй таймер — ScoreTimer, который срабатывает каждую секунду. На верхней панели есть метка Score.

Это работает так же, как часы, которые вы создали ранее. Используйте переменную, отобразите её в _ready() и добавляйте одно очко при каждом timeout:

func _on_score_timer_timeout():
	score += 1
	$HUD/Score.text = "Score: %d" % score

В одной сцене может быть много таймеров. У каждого есть собственное значение wait_time и собственная функция. Поэтому вы можете менять частоту падения блоков, не меняя счёт.

challenge icon

Задание

Средне
  1. Добавь var score = 0 в начало и выведи Score: 0 в $HUD/Score в _ready().
  2. Подключи $ScoreTimer.timeout к _on_score_timer_timeout.
  3. В _on_score_timer_timeout() добавь очко и выведи новый счёт.

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

extends Node2D

var block_scene = preload("res://block.tscn")

func _ready():
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)
quiz iconПроверьте себя

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

Все уроки раздела Правила игры

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