Режим процесса
Часть раздела Правила игры путешествия по Godot на Coddy. Урок 14 из 29.
Когда игра приостановлена, все узлы останавливаются. Некоторые узлы должны продолжать работать, например мигающее сообщение Game Over или меню паузы.
process_mode узла определяет:
Node.PROCESS_MODE_INHERIT: вести себя как родительский узел. Это значение по умолчанию.Node.PROCESS_MODE_PAUSABLE: останавливаться, когда игра приостановлена.Node.PROCESS_MODE_ALWAYS: продолжать работать независимо от того, приостановлена игра или нет.
$Music.process_mode = Node.PROCESS_MODE_ALWAYSТеперь скрипт мигает надписью Game Over с помощью Timer с именем Blink. Пауза останавливает этот таймер, поэтому сообщение никогда не мигает.
Задание
ЛегкоСделай так, чтобы надпись Game Over продолжала мигать, пока игра на паузе. В _ready() установи для таймера Blink значение process_mode — Node.PROCESS_MODE_ALWAYS.
Попробуйте сами
extends Node2D
var lives = 3
func _ready():
$HUD/Lives.text = "Lives: %d" % lives
$Player.hurt.connect(_on_player_hurt)
$Blink.timeout.connect(_on_blink_timeout)
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/GameOver.visible = true
get_tree().paused = true
func _on_blink_timeout():
if lives == 0:
$HUD/GameOver.visible = not $HUD/GameOver.visible
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Правила игры
3Жизни и поражения
ЖизниИгра оконченаПоставить игру на паузуРежим процессаПерезапуск по нажатию клавишиПотренируйтесь самостоятельно: Песочница Godot