So pausieren Sie das Spiel in Unity

Willkommen zum Tutorial zur Implementierung einer pause-Funktion in Unity. Diese einfache, aber wesentliche Funktion kann das Spielerlebnis erheblich verbessern. Tauchen wir ein in die Schritt-für-Schritt-Anleitung:

Schritt 1: Erstellen Sie ein PauseManager-Skript

Schritt 2: Implementieren Sie die Pausenfunktion

  • Öffnen Sie das Skript und ersetzen Sie den vorhandenen Code durch Folgendes:

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

Schritt 3: Hängen Sie das Skript an ein leeres GameObject an

  • Erstellen Sie ein leeres GameObject in Ihrer Szene und hängen das "PauseManager"-Skript daran an. Dieses Skript übernimmt nun die Pausenfunktion, einschließlich des Anhaltens und Fortsetzens von Audio.

Schritt 4: Passen Sie es nach Bedarf an

  • Sie können das Skript jederzeit an die Anforderungen Ihres Spiels anpassen. Sie können den Tastenauslöser ändern, zusätzliche Funktionen hinzufügen oder das Verhalten an Ihre spezifischen Bedürfnisse anpassen.

Abschluss

Wenn Sie jetzt während der Laufzeit die entsprechende Taste drücken (die Standardeinstellung ist „Escape“), wird das Spiel nahtlos pausieren, einschließlich einer Pause bei allen Audiodateien. Bei der Wiederaufnahme werden sowohl das Spiel als auch der Ton reibungslos fortgesetzt, was für ein noch intensiveres Spielerlebnis sorgt.