Comment suspendre le jeu dans Unity

Bienvenue dans le didacticiel sur l'implémentation d'une fonctionnalité pause dans Unity. Cette fonctionnalité simple mais essentielle peut grandement améliorer l’expérience du joueur. Passons au guide étape par étape:

Étape 1: Créer un script PauseManager

  • Commencez par créer un nouveau script C# en Unity et nommez-le "PauseManager" ou un nom de votre choix.

Étape 2: implémenter la fonctionnalité Pause

  • Ouvrez le script et remplacez le code existant par ce qui suit:

'PauseManager.cs'

using UnityEngine;

public class PauseManager : MonoBehaviour
{
    private bool isPaused = false;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
                ResumeGame();
            else
                PauseGame();
        }
    }

    void PauseGame()
    {
        Time.timeScale = 0f;
        isPaused = true;

        // Pause all audio
        AudioListener.pause = true;
    }

    void ResumeGame()
    {
        Time.timeScale = 1f;
        isPaused = false;

        // Resume all audio
        AudioListener.pause = false;
    }
}

Étape 3: attacher le script à un GameObject vide

  • Créez un GameObject vide dans votre scène et attachez-y le script "PauseManager". Ce script gérera désormais la fonctionnalité de pause, y compris la pause et la reprise de l'audio.

Étape 4: Personnaliser selon vos besoins

  • N'hésitez pas à personnaliser le script en fonction des exigences de votre jeu. Vous pouvez modifier le déclencheur clé, ajouter des fonctionnalités supplémentaires ou modifier le comportement en fonction de vos besoins spécifiques.

Conclusion

Désormais, lorsque vous appuyez sur la touche désignée pendant l'exécution (la valeur par défaut est Escape), le jeu fera pause de manière transparente, y compris une pause sur tous les fichiers audio. À la reprise, le jeu et l'audio continueront en douceur, offrant une expérience de jeu plus immersive.