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_ALWAYSSkrypt miga teraz napisem „Game Over” za pomocą Timer o nazwie Blink. Wstrzymanie gry zatrzymuje ten timer, więc komunikat nigdy nie miga.
Wyzwanie
ŁatwyNiech napis „Game Over” miga, gdy gra jest wstrzymana.
- W funkcji
_ready()pobierz timerBlink. - Ustaw jego
process_modenaNode.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