Vence al reloj
Parte de la sección Reglas del juego del Journey de Godot de Coddy. Lección 24 de 29.
La cuenta regresiva no hace nada cuando llega a cero y sigue hasta -1, -2. Añade estas reglas:
- Cuando el tiempo llegue a 0, el jugador pierde. Muestra
Time's up!y detén el juego. - Cuando el jugador llegue primero a la bandera, gana. Muestra
You win!y detén el juego.
Detén el juego con get_tree().paused = true. La pausa detiene el reloj, así que el tiempo se queda donde terminó. También detiene al jugador, así que nadie gana después de que se acaba el tiempo.
if time_left == 0:
$HUD/Message.text = "Time's up!"
get_tree().paused = trueDesafío
Fácil- En
_on_clock_timeout(), después de la línea de la etiqueta, comprueba sitime_leftes 0. Si es así, muestraTime's up!en$HUD/Messagey pausa el juego. - En
_on_goal_body_entered(body), pausa el juego después deYou win!.
Pruébalo tú mismo
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
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Reglas del juego
Practica por tu cuenta: Playground de Godot