Menu
CoddyTech

Contra o Relógio

Parte da seção Criando jogos de verdade do Journey de Unity da Coddy. Lição 55 de 56.

Uma corrida contra o tempo por um jardim. O corredor começa em uma extremidade com dez segundos no relógio e precisa chegar ao objetivo branco na outra extremidade, contornando uma cerca viva, antes que o tempo acabe. Os relógios dourados pelo caminho dão mais alguns segundos cada um. Quando o tempo está quase acabando, o relógio fica vermelho; quando acaba, a pista recomeça. Chegue ao objetivo a tempo e o jogo avança para a cena Finish.

Escreva dois scripts: Runner no corredor, um CharacterController, e Race no objeto Race.

challenge icon

Desafio

Difícil

A build tem duas cenas, Track e Finish. Na pista, os relógios são marcados com a tag Clock e a linha de chegada com Goal; ambos são gatilhos.

O Inspector fornece a Runner speed (6), gravity (-9.81) e race (o script Race).

  • A ação Move do projeto faz o corredor se mover a speed unidades por segundo: para a direita e para a esquerda ao longo de x, para cima e para baixo ao longo de z. Ele cai com gravity e se move apenas com controller.Move, então a cerca viva o impede.
  • Ao esbarrar em um relógio, você o coleta e adiciona o bônus à corrida. Ao esbarrar na linha de chegada, você termina a corrida.

O Inspector fornece a Race timeLimit (10), bonus (3) e timeText.

  • O tempo restante começa em timeLimit e diminui conforme o tempo real passa. timeText o mostra com uma casa decimal, como Time: 7.4, em branco e em vermelho (Color.red) quando restam menos de 3 segundos.
  • Cada relógio adiciona bonus segundos.
  • Quando o tempo chega a 0, registre Time's up! e carregue a pista novamente desde o início.
  • Quando a corrida termina dentro do tempo, registre o tempo restante, como Finished with 4.2 s left, e carregue a cena Finish.

Pressione Jogar e vença o relógio, depois Verificar.

Experimente você mesmo

using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;

public class Race : MonoBehaviour
{
    public float timeLimit = 10f;
    public float bonus = 3f;
    public TMP_Text timeText;
}
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 Criando jogos de verdade