Menu
CoddyTech

Tabrakan Mengakhiri Lari

Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 31 dari 60.

challenge icon

Tantangan

Sedang

Tabrakan akan menghentikan permainan.

  1. Di atas GameManager, deklarasikan public enum GameState { Playing, GameOver }; di dalamnya, tambahkan public GameState state = GameState.Playing;.
  2. public void GameOver() mengatur state ke GameState.GameOver, mengatur speed ke 0, lalu menampilkan gameOverPanel.
  3. Runner memanggil GameManager.Instance.GameOver() saat terjadi pemicu dengan tag Obstacle. GameManager, Runner, dan Spawner memulai Update() dengan return jika bukan Playing.

Tekan tombol “Main” lalu tabrak sesuatu: semuanya berhenti. Setelah itu, tekan tombol “Periksa”.

Coba sendiri

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";
    }
}

Semua pelajaran di Membangun Game Sungguhan

Latihan sendiri: Playground Unity