Modalità di elaborazione
Fa parte della sezione Regole di gioco del percorso Godot di Coddy. Lezione 14 di 29.
Un gioco in pausa ferma tutti i nodi. Alcuni nodi dovrebbero continuare a funzionare, come un messaggio Game Over lampeggiante o un menu di pausa.
La proprietà process_mode di un nodo decide:
Node.PROCESS_MODE_INHERIT: fa quello che fa il nodo genitore. Questa è l'impostazione predefinita.Node.PROCESS_MODE_PAUSABLE: si ferma quando il gioco è in pausa.Node.PROCESS_MODE_ALWAYS: continua a funzionare, sia in pausa sia no.
$Music.process_mode = Node.PROCESS_MODE_ALWAYSLo script ora fa lampeggiare Game Over con un Timer chiamato Blink. La pausa ferma quel timer, quindi il messaggio non lampeggia mai.
Sfida
FacileMantieni Game Over lampeggiante mentre il gioco è in pausa.
- In
_ready(), prendi il timerBlink. - Imposta il suo
process_modesuNode.PROCESS_MODE_ALWAYS.
Premi «Gioca» e perdi tre vite: Game Over lampeggia sopra il gioco congelato. Poi premi «Verifica».
Provalo tu
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
Tutte le lezioni di Regole di gioco
3Vite e sconfitte
ViteGame OverMettere in pausa il giocoModalità di elaborazioneRiavviare con un tastoEsercitati da solo: Playground Godot