Opprette en pausemeny i Unity

Å legge til en pausemeny er avgjørende for ethvert Unity-spill, og gir spillerne et øyeblikk til å puste og få tilgang til alternativer. Denne opplæringen guider deg gjennom opprettelsen, inkludert kodeeksempler og forklaringer.

1. Design din pausemeny

  • Skisser ønsket layout, inkludert knapper (Fortsett, Alternativer, Avslutt).
  • Vurder å bruke gjennomsiktige paneler for en mindre påtrengende følelse.

2. Lag lerretet

  • I Hierarki-panelet høyreklikker du og velger "UI -> Canvas".
  • Sett "Render Mode" til "Screen Space - Overlay" for riktig plassering.

3. Bygg menypanelet

  • Under lerretet, høyreklikk og velg "UI -> Panel".
  • Endre størrelse og plasser panelet i henhold til designet ditt.
  • Gi det nytt navn til "PauseMenu" for bedre organisering.

4. Legg til knapper

  • Høyreklikk i PauseMeny-panelet og velg "UI -> Button."
  • Gjenta for hver knapp du vil ha (Fortsett, Alternativer, Avslutt).
  • Gi dem et passende navn (f.eks. "ResumeButton").
  • Tilpass tekst, størrelse og plassering.

5. Skriver logikken

  • Lag et nytt C#-skript med navnet "PauseMenu.cs."
  • Fest skriptet til PauseMenu-objektet i hierarkiet.

6. Pause funksjonalitet

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

  • I Inspektør-vinduet velger du hver knapp.
  • Klikk på "+" ved siden av "OnClick" og dra 'PauseMenu'-skriptet til feltet.
  • Velg riktig funksjon (f.eks. ResumeGame for ResumeButton).

8. Ytterligere innslag

  • Tilpass knappestiler, legg til lydeffekter eller implementer alternativmenyer.
  • Vurder å bruke prefabs for gjenbruk på tvers av scener.

Konklusjon

Forhåpentligvis ga denne veiledningen deg et forsprang med å bygge en fungerende pausemeny i Unity. Husk å utvide denne basen ved å legge til flere funksjoner og skreddersy den til dine spesifikke spillbehov.