Menu
CoddyTech

Vença o Relógio

Parte da seção Regras do jogo do Journey de Godot da Coddy. Lição 24 de 29.

A contagem regressiva não faz nada quando chega a zero e continua até -1, -2. Adicione as regras:

  • Quando o tempo chegar a 0, o jogador perde. Mostre Time's up! e pare o jogo.
  • Quando o jogador alcançar a bandeira primeiro, ele vence. Mostre You win! e pare o jogo.

Pare o jogo com get_tree().paused = true. A pausa para o relógio, então o tempo permanece onde terminou. Ela também para o jogador, assim ninguém vence depois que o tempo acaba.

if time_left == 0:
	$HUD/Message.text = "Time's up!"
	get_tree().paused = true
challenge icon

Desafio

Fácil

Transforme a contagem regressiva em uma corrida que você pode perder.

  1. Em _on_clock_timeout(), depois da linha do rótulo, quando time_left for 0, defina $HUD/Message.text como "Time's up!" e pause o jogo.
  2. Em _on_goal_body_entered(body), pause o jogo depois de "You win!".

Pressione “Jogar” e espere: em Time: 0, o jogo para com Time's up! Depois, pressione “Verificar”.

Experimente você mesmo

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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Regras do jogo

Pratique por conta própria: Playground de Godot