Menu
CoddyTech

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 = true
challenge icon

Desafío

Fácil
  1. En _on_clock_timeout(), después de la línea de la etiqueta, comprueba si time_left es 0. Si es así, muestra Time's up! en $HUD/Message y pausa el juego.
  2. En _on_goal_body_entered(body), pausa el juego después de You 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
quiz iconPonte a prueba

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