Menu
CoddyTech

A Batida Encerra a Corrida

Parte da seção Criando Jogos de Verdade do Journey de Unity da Coddy. Lição 31 de 60.

challenge icon

Desafio

Médio

Uma colisão deve interromper a corrida.

  1. Acima de GameManager, declare public enum GameState { Playing, GameOver }; dentro dela, adicione public GameState state = GameState.Playing;.
  2. public void GameOver() define state como GameState.GameOver e speed como 0, e mostra gameOverPanel.
  3. Runner chama GameManager.Instance.GameOver() ao entrar em contato com um gatilho marcado com Obstacle. GameManager, Runner e Spawner iniciam Update() com um return, a menos que estejam em Playing.

Pressione “Jogar” e colida: tudo para. Depois, pressione “Verificar”.

Experimente você mesmo

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    public float speed = 10f;
    public float speedUp = 0.5f;
    public float maxSpeed = 20f;
    public TMP_Text distanceText;
    public GameObject gameOverPanel;
    public Button restartButton;
    private float distance;

    void Awake()
    {
        Instance = this;
    }

    void Update()
    {
        speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
        distance += speed * Time.deltaTime;
        distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
    }
}

Todas as lições de Criando Jogos de Verdade

Pratique por conta própria: Playground de Unity