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 = trueDéfi
Facile- Dans
_on_clock_timeout(), après la ligne d’étiquette, vérifie sitime_leftvaut 0. Si c’est le cas, afficheTime's up!sur$HUD/Messageet mets le jeu en pause. - Dans
_on_goal_body_entered(body), mets le jeu en pause aprèsYou 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
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