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
- Beginnen Sie damit, ein neues C#-Skript in Unity zu erstellen und benennen Sie es "PauseManager" oder einen Namen Ihrer Wahl.
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.