Mode de traitement
Fait partie de la section Règles du jeu du Journey Godot de Coddy. Leçon 14 sur 29.
Un jeu en pause arrête tous les nœuds. Certains nœuds doivent continuer à fonctionner, comme un message « Game Over » clignotant ou un menu de pause.
Le process_mode d’un nœud détermine :
Node.PROCESS_MODE_INHERIT: faire comme le parent. C’est le comportement par défaut.Node.PROCESS_MODE_PAUSABLE: s’arrêter lorsque le jeu est en pause.Node.PROCESS_MODE_ALWAYS: continuer à fonctionner, que le jeu soit en pause ou non.
$Music.process_mode = Node.PROCESS_MODE_ALWAYSLe script fait maintenant clignoter « Game Over » avec un Timer appelé Blink. La pause arrête ce minuteur, donc le message ne clignote jamais.
Défi
FacileFais clignoter Game Over tant que le jeu est en pause. Dans _ready(), définis process_mode du minuteur Blink sur Node.PROCESS_MODE_ALWAYS.
Essayez vous-même
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
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Règles du jeu
3Vies et défaites
ViesFin de partieMettre le jeu en pauseMode de traitementRedémarrer avec une toucheEntraînez-vous par vous-même : Playground Godot