Menu
CoddyTech
flag Pt iconPortuguêsdown icon

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 fica no ponto em que terminou. Ela também para o jogador, para que ninguém vença depois que o tempo acabar.

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

Desafio

Fácil
  1. Em _on_clock_timeout(), após a linha do rótulo, verifique se time_left é 0. Se for, exiba Time's up! em $HUD/Message e pause o jogo.
  2. Em _on_goal_body_entered(body), pause o jogo após You win!.

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