Sådan sætter du spillet på pause i Unity

Velkommen til selvstudiet om implementering af en pause-funktion i Unity. Denne enkle, men essentielle funktion kan i høj grad forbedre spilleroplevelsen. Lad os dykke ned i trin-for-trin guiden:

Trin 1: Opret et PauseManager-script

  • Start med at oprette et nyt C#-script i Unity og navngive det "PauseManager" eller et navn efter eget valg.

Trin 2: Implementer pausefunktionen

  • Åbn scriptet og erstat den eksisterende kode med følgende:

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

Trin 3: Vedhæft scriptet til et tomt spilobjekt

  • Opret et tomt GameObject i din scene og vedhæft "PauseManager"-scriptet til det. Dette script vil nu håndtere pausefunktionaliteten, herunder pause og genoptagelse af lyd.

Trin 4: Tilpas efter behov

  • Du er velkommen til at tilpasse scriptet efter dit spils krav. Du kan ændre nøgleudløseren, tilføje yderligere funktioner eller ændre adfærden, så den passer til dine specifikke behov.

Konklusion

Når du nu trykker på den udpegede tast under kørsel (standarden er Escape), vil spillet problemfrit pause, inklusive en pause på al lyd. Efter genoptagelsen fortsætter både spillet og lyden jævnt, hvilket giver en mere fordybende spiloplevelse.