Erstellen eines Pausenmenüs in Unity
Das Hinzufügen eines Pausenmenüs ist für jedes Unity-Spiel von entscheidender Bedeutung, um den Spielern einen Moment zum Durchatmen und Zugriff auf Optionen zu geben. Dieses Tutorial führt Sie durch die Erstellung, einschließlich Codebeispielen und Erklärungen.
1. Gestalten Sie Ihr Pausenmenü
- Skizzieren Sie Ihr gewünschtes Layout, einschließlich der Schaltflächen (Fortsetzen, Optionen, Beenden).
- Erwägen Sie die Verwendung transparenter Paneele, um eine weniger aufdringliche Wirkung zu erzielen.
2. Erstellen Sie die Leinwand
- Klicken Sie im Bereich „Hierarchie“ mit der rechten Maustaste und wählen Sie "UI -> Canvas".
- Stellen Sie "Render Mode" auf "Screen Space - Overlay" ein, um die richtige Positionierung zu gewährleisten.
3. Erstellen Sie das Menüfeld
- Klicken Sie unter der Leinwand mit der rechten Maustaste und wählen Sie "UI -> Panel".
- Passen Sie die Größe und Position des Panels entsprechend Ihrem Design an.
- Benennen Sie es zur besseren Organisation in "PauseMenu" um.
4. Schaltflächen hinzufügen
- Klicken Sie mit der rechten Maustaste in das PauseMenu-Bedienfeld und wählen Sie "UI -> Button."
- Wiederholen Sie diesen Vorgang für jede gewünschte Schaltfläche (Fortsetzen, Optionen, Beenden).
- Benennen Sie sie entsprechend (z. B. "ResumeButton").
- Passen Sie Text, Größe und Position an.
5. Skripterstellung für die Logik
- Erstellen ein neues C#-Skript mit dem Namen "PauseMenu.cs."
- Hängen Sie das Skript an das PauseMenu-Objekt in der Hierarchie an.
6. Pausenfunktion
'PauseMenu.cs'
public class PauseMenu : MonoBehaviour
{
public bool isPaused; // Flag to track pause state
void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
// Toggle pause state on Escape key press
isPaused = !isPaused;
if (isPaused)
{
PauseGame();
}
else
{
ResumeGame();
}
}
}
void PauseGame()
{
// Set Time.timeScale to 0 to pause gameplay
Time.timeScale = 0;
// Make PauseMenu panel visible (activate its gameObject)
PauseMenu.gameObject.SetActive(true);
}
void ResumeGame()
{
// Set Time.timeScale back to 1 to resume gameplay
Time.timeScale = 1;
// Hide PauseMenu panel (deactivate its gameObject)
PauseMenu.gameObject.SetActive(false);
}
}
7. Tasteninteraktionen
- Wählen Sie im Inspektorfenster jede Schaltfläche aus.
- Klicken Sie auf das „+“ neben "OnClick" und ziehen Sie das Skript 'PauseMenu' auf das Feld.
- Wählen Sie die entsprechende Funktion (z. B. ResumeGame für ResumeButton).
8. Zusätzliche Berührungen
- Passen Sie Schaltflächenstile an, fügen Sie Soundeffekte hinzu oder implementieren Sie Optionsmenüs.
- Erwägen Sie die Verwendung von prefabs für die szenenübergreifende Wiederverwendbarkeit.
Abschluss
Hoffentlich hat Ihnen dieser Leitfaden einen Vorsprung beim Erstellen eines funktionierenden Pausenmenüs in Unity verschafft. Denken Sie daran, diese Basis zu erweitern, indem Sie weitere Funktionen hinzufügen und sie an die Anforderungen Ihres spezifischen Spiels anpassen.