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 = trueDéfi
FacileFais du compte à rebours une course que tu peux perdre.
- Dans
_on_clock_timeout(), après la ligne de l’étiquette, lorsquetime_leftvaut 0, définis$HUD/Message.textsur"Time's up!"et mets le jeu en pause. - 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
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