Menu
CoddyTech

Battre le chrono

Fait partie de la section Règles du jeu du Journey Godot de Coddy. Leçon 24 sur 29.

Le compte à rebours ne fait rien lorsqu’il atteint zéro et continue jusqu’à -1, -2. Ajoute les règles suivantes :

  • Lorsque le temps atteint 0, le joueur perd. Affiche Time's up! et arrête le jeu.
  • Lorsque le joueur atteint le drapeau en premier, il gagne. Affiche You win! et arrête le jeu.

Arrête le jeu avec get_tree().paused = true. La pause arrête le compte à rebours, donc le temps reste à la valeur atteinte. Elle arrête aussi le joueur, ainsi personne ne gagne une fois le temps écoulé.

if time_left == 0:
	$HUD/Message.text = "Time's up!"
	get_tree().paused = true
challenge icon

Défi

Facile

Fais du compte à rebours une course que tu peux perdre.

  1. Dans _on_clock_timeout(), après la ligne de l’étiquette, lorsque time_left vaut 0, définis $HUD/Message.text sur "Time's up!" et mets le jeu en pause.
  2. Dans _on_goal_body_entered(body), mets le jeu en pause après "You win!".

Appuie sur « Jouer » et attends : à Time: 0, le jeu s’arrête avec Time's up! Puis appuie sur « Vérifier ».

Essayez vous-même

extends Node2D

var time_left = 10

func _ready():
	$HUD/Time.text = "Time: %d" % time_left
	$Goal.body_entered.connect(_on_goal_body_entered)
	$Clock.timeout.connect(_on_clock_timeout)

func _on_goal_body_entered(body):
	if body.is_in_group("player"):
		$HUD/Message.text = "You win!"

func _on_clock_timeout():
	time_left -= 1
	$HUD/Time.text = "Time: %d" % time_left
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Godot