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

Режим процесса

Часть раздела Правила игры путешествия по 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. Пауза останавливает этот таймер, поэтому сообщение никогда не мигает.

challenge icon

Задание

Легко

Сделай так, чтобы надпись 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
quiz iconПроверьте себя

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

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

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