Menu
CoddyTech

Corri di nuovo

Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 32 di 60.

challenge icon

Sfida

Medio

Fai in modo che il pulsante Corri di nuovo avvii una nuova partita.

  1. In GameManager, scrivi void Restart() per ricaricare la scena: SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);.
  2. Aggiungi void Start() con restartButton.onClick.AddListener(Restart);.

Premi «Gioca», schiantati e fai clic su Corri di nuovo: inizia una nuova partita. Poi premi «Verifica».

Provalo tu

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

Tutte le lezioni di Creare veri giochi

Esercitati da solo: Playground Unity