Уклонение: очки
Часть раздела Правила игры путешествия по 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