Menu
CoddyTech

Recommencer

Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 32 sur 60.

challenge icon

Défi

Moyen

Fais en sorte que le bouton Run again démarre une nouvelle partie.

  1. Dans GameManager, écris void Restart() pour recharger la scène : SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);.
  2. Ajoute void Start() avec restartButton.onClick.AddListener(Restart);.

Appuie sur « Jouer », percute un obstacle et clique sur Run again : une nouvelle partie démarre. Puis clique sur « Vérifier ».

Essayez vous-même

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

Toutes les leçons de Créer de vrais jeux

Entraînez-vous par vous-même : Playground Unity