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.

Empfohlene Artikel
Erstellen eines einfachen Grass-Shaders in Unity
Flugsimulatoren in Unity erstellen
Erstellen eines VHS-Bandfiltereffekts in Unity
Erstellen eines Ladebildschirms in Unity
Erstellen Sie in Unity einen Hochdruckreiniger-Schaumeffekt
Erstellen einer Winner-Screen-Benutzeroberfläche in Unity
So fügen Sie Zombies zu Unity-Spielen hinzu