Уклонение: очки
Часть раздела Правила игры путешествия по Godot на Coddy. Урок 26 из 29.
В Dodge вы получаете одно очко за каждую секунду, которую продержитесь. В сцене есть второй таймер — ScoreTimer, который срабатывает каждую секунду. На верхней панели есть метка Score.
Это работает так же, как часы, которые вы создали ранее. Используйте переменную, отобразите её в _ready() и добавляйте одно очко при каждом timeout:
func _on_score_timer_timeout():
score += 1
$HUD/Score.text = "Score: %d" % scoreВ одной сцене может быть много таймеров. У каждого есть собственное значение wait_time и собственная функция. Поэтому вы можете менять частоту падения блоков, не меняя счёт.
Задание
Средне- Добавь
var score = 0в начало и выведиScore: 0в$HUD/Scoreв_ready(). - Подключи
$ScoreTimer.timeoutк_on_score_timer_timeout. - В
_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)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Правила игры
3Жизни и поражения
ЖизниИгра оконченаПоставить игру на паузуРежим процессаПерезапуск по нажатию клавиши6Проект: Уклонение
Уклонение: падающие блокиУклонение: очкиПотренируйтесь самостоятельно: Песочница Godot