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 = trueDesafio
Fácil- Em
_on_clock_timeout(), após a linha do rótulo, verifique setime_lefté 0. Se for, exibaTime's up!em$HUD/Messagee pause o jogo. - Em
_on_goal_body_entered(body), pause o jogo apósYou 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
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