Menu
CoddyTech

Tryb przetwarzania

Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 14 z 29.

Wstrzymanie gry zatrzymuje każdy węzeł. Niektóre węzły powinny nadal działać, na przykład migający komunikat „Game Over” lub menu pauzy.

process_mode węzła określa:

  • Node.PROCESS_MODE_INHERIT: zachowuj się tak jak element nadrzędny. To ustawienie domyślne.
  • Node.PROCESS_MODE_PAUSABLE: zatrzymaj się, gdy gra jest wstrzymana.
  • Node.PROCESS_MODE_ALWAYS: działaj nadal, niezależnie od tego, czy gra jest wstrzymana.
$Music.process_mode = Node.PROCESS_MODE_ALWAYS

Skrypt miga teraz napisem „Game Over” za pomocą Timer o nazwie Blink. Wstrzymanie gry zatrzymuje ten timer, więc komunikat nigdy nie miga.

challenge icon

Wyzwanie

Łatwy

Niech napis „Game Over” miga, gdy gra jest wstrzymana.

  1. W funkcji _ready() pobierz timer Blink.
  2. Ustaw jego process_mode na Node.PROCESS_MODE_ALWAYS.

Naciśnij „Graj” i strać trzy życia: napis „Game Over” miga na zatrzymanej grze. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Zasady gry

Poćwicz samodzielnie: Edytor online Godot