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 chronomètre, donc le temps reste à la valeur atteinte à la fin. Elle arrête aussi le joueur, afin que 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
  1. Dans _on_clock_timeout(), après la ligne d’étiquette, vérifie si time_left vaut 0. Si c’est le cas, affiche Time's up! sur $HUD/Message et mets le jeu en pause.
  2. Dans _on_goal_body_entered(body), mets le jeu en pause après You win!.

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