Oprettelse af en pausemenu i Unity

Tilføjelse af en pausemenu er afgørende for ethvert Unity-spil, hvilket giver spillerne et øjeblik til at trække vejret og få adgang til muligheder. Denne vejledning guider dig gennem oprettelsen, inklusive kodeeksempler og forklaringer.

1. Design din pausemenu

  • Skitser dit ønskede layout, inklusive knapper (Genoptag, Indstillinger, Afslut).
  • Overvej at bruge gennemsigtige paneler for en mindre påtrængende følelse.

2. Opret lærredet

  • I Hierarki-panelet skal du højreklikke og vælge "UI -> Canvas".
  • Indstil "Render Mode" til "Screen Space - Overlay" for korrekt placering.

3. Byg menupanelet

  • Under lærredet skal du højreklikke og vælge "UI -> Panel".
  • Tilpas størrelsen og placer panelet i overensstemmelse med dit design.
  • Omdøb den til "PauseMenu" for bedre organisation.

4. Tilføj knapper

  • Højreklik i PauseMenu-panelet og vælg "UI -> Button."
  • Gentag for hver knap, du ønsker (Genoptag, Valg, Afslut).
  • Navngiv dem passende (f.eks. "ResumeButton").
  • Tilpas deres tekst, størrelse og placering.

5. At skrive logikken

  • Opret et nyt C#-script med navnet "PauseMenu.cs."
  • Vedhæft scriptet til PauseMenu-objektet i hierarkiet.

6. Pause funktionalitet

'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. Knap-interaktioner

  • Vælg hver knap i Inspector-vinduet.
  • Klik på "+" ud for "OnClick" og træk 'PauseMenu' scriptet ind i feltet.
  • Vælg den relevante funktion (f.eks. ResumeGame for ResumeButton).

8. Yderligere berøringer

  • Tilpas knapstile, tilføj lydeffekter eller implementer indstillingsmenuer.
  • Overvej at bruge prefabs til genbrug på tværs af scener.

Konklusion

Forhåbentlig gav denne guide dig et forspring med at opbygge en fungerende pausemenu i Unity. Husk at udvide denne base ved at tilføje flere funktioner og skræddersy den til dit specifikke spils behov.