Menu
CoddyTech

Modo de processamento

Parte da seção Regras do jogo do Journey de Godot da Coddy. Lição 14 de 29.

Um jogo pausado para todos os nós. Alguns nós devem continuar funcionando, como uma mensagem de fim de jogo piscando ou um menu de pausa.

O process_mode de um nó decide:

  • Node.PROCESS_MODE_INHERIT: fazer o que o nó pai faz. Esse é o padrão.
  • Node.PROCESS_MODE_PAUSABLE: parar quando o jogo estiver pausado.
  • Node.PROCESS_MODE_ALWAYS: continuar funcionando, esteja o jogo pausado ou não.
$Music.process_mode = Node.PROCESS_MODE_ALWAYS

Agora, o script faz a mensagem de fim de jogo piscar com um Timer chamado Blink. A pausa para esse temporizador, então a mensagem nunca pisca.

challenge icon

Desafio

Fácil

Mantenha a mensagem Game Over piscando enquanto o jogo estiver pausado.

  1. Em _ready(), pegue o temporizador Blink.
  2. Defina o process_mode dele como Node.PROCESS_MODE_ALWAYS.

Pressione “Jogar” e perca três vidas: Game Over pisca sobre o jogo congelado. Depois, pressione “Verificar”.

Experimente você mesmo

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

Todas as lições de Regras do jogo

Pratique por conta própria: Playground de Godot