Een pauzemenu maken in Unity

Het toevoegen van een pauzemenu is cruciaal voor elk Unity-spel, waardoor spelers even kunnen ademen en toegang krijgen tot opties. Deze tutorial begeleidt u bij het maken ervan, inclusief codevoorbeelden en uitleg.

1. Ontwerp uw pauzemenu

  • Schets uw gewenste lay-out, inclusief knoppen (Hervatten, Opties, Afsluiten).
  • Overweeg het gebruik van transparante panelen voor een minder opdringerig gevoel.

2. Maak het canvas

  • Klik met de rechtermuisknop in het deelvenster Hiërarchie en kies "UI -> Canvas".
  • Stel "Render Mode" in op "Screen Space - Overlay" voor een juiste positionering.

3. Bouw het menupaneel

  • Klik met de rechtermuisknop onder het canvas en kies "UI -> Panel".
  • Pas het formaat aan en positioneer het paneel volgens uw ontwerp.
  • Hernoem het naar "PauseMenu" voor een betere organisatie.

4. Knoppen toevoegen

  • Klik met de rechtermuisknop in het PauseMenu-paneel en kies "UI -> Button."
  • Herhaal dit voor elke gewenste knop (Hervatten, Opties, Afsluiten).
  • Noem ze op de juiste manier (bijvoorbeeld "ResumeButton").
  • Pas hun tekst, grootte en positie aan.

5. De logica scripten

  • Maak een nieuw C#-script met de naam "PauseMenu.cs."
  • Voeg het script toe aan het PauseMenu-object in de hiërarchie.

6. Pauzeer functionaliteit

'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. Knopinteracties

  • Selecteer elke knop in het infovenster.
  • Klik op de "+" naast "OnClick" en sleep het 'PauseMenu'-script naar het veld.
  • Kies de juiste functie (bijvoorbeeld ResumeGame voor ResumeButton).

8. Extra accenten

  • Pas knopstijlen aan, voeg geluidseffecten toe of implementeer optiemenu's.
  • Overweeg het gebruik van prefabs voor herbruikbaarheid in verschillende scènes.

Conclusie

Hopelijk heeft deze handleiding je een voorsprong gegeven bij het bouwen van een werkend pauzemenu in Unity. Vergeet niet om deze basis uit te breiden door meer functies toe te voegen en deze aan te passen aan de specifieke behoeften van uw spel.

Voorgestelde artikelen
Een winnaarscherm-UI maken in Unity
Een laadscherm maken in Unity
Een eenvoudige gras-shader creëren in eenheid
Een VHS-bandfiltereffect creëren in eenheid
Modulaire binnenplaats - Een solide basis voor virtuele omgevingen
Creëer een hogedrukreinigerschuimeffect in eenheid
Maak een radiale/circulaire voortgangsbalk in Unity