Menu
CoddyTech

Lari Lagi

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

challenge icon

Tantangan

Sedang

Buat tombol Jalankan lagi memulai permainan baru.

  1. Di GameManager, tulis void Restart() untuk memuat ulang scene: SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);.
  2. Tambahkan void Start() dengan restartButton.onClick.AddListener(Restart);.

Tekan tombol “Main”, tabrak sesuatu, lalu klik tombol Jalankan lagi: permainan baru dimulai. Lalu tekan tombol “Periksa”.

Coba sendiri

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

public enum GameState { Playing, GameOver }

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;
    public GameState state = GameState.Playing;
    private float distance;

    void Awake()
    {
        Instance = this;
    }

    void Update()
    {
        if (state != GameState.Playing) return;

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

    public void GameOver()
    {
        state = GameState.GameOver;
        speed = 0f;
        gameOverPanel.SetActive(true);
    }
}

Semua pelajaran di Membangun Game Sungguhan

Latihan sendiri: Playground Unity