Hvordan sette spillet på pause i Unity

Velkommen til veiledningen om implementering av en pause-funksjon i Unity. Denne enkle, men viktige funksjonen kan forbedre spilleropplevelsen betraktelig. La oss dykke ned i trinn-for-trinn-guiden:

Trinn 1: Lag et PauseManager-skript

  • Start med å lage et nytt C#-skript i Unity og gi det navnet "PauseManager" eller et navn du ønsker.

Trinn 2: Implementer pausefunksjonen

  • Åpne skriptet og erstatt den eksisterende koden 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;
    }
}

Trinn 3: Fest skriptet til et tomt spillobjekt

  • Lag et tomt GameObject i scenen din og fest "PauseManager"-skriptet til det. Dette skriptet vil nå håndtere pausefunksjonaliteten, inkludert pause og gjenopptagelse av lyd.

Trinn 4: Tilpass etter behov

  • Tilpass gjerne skriptet i henhold til spillets krav. Du kan endre nøkkelutløseren, legge til tilleggsfunksjoner eller endre virkemåten for å passe dine spesifikke behov.

Konklusjon

Nå, når du trykker på den angitte tasten under kjøretid (standard er Escape), vil spillet sømløst pause, inkludert en pause på all lyd. Ved gjenopptagelse vil både spillet og lyden fortsette jevnt, noe som gir en mer oppslukende spillopplevelse.

Foreslåtte artikler
Hvordan bli en bedre programmerer i Unity
Implementering av timere i Unity
Lag en GrabPack i Unity Inspirert av Poppy Playtime
Skape en kuletidseffekt i Unity
Implementering av objektpooling i Unity
Lag et puslespill i Unity
Lag et Pac-Man-inspirert spill i Unity