Crearea unui meniu de pauză în Unity

Adăugarea unui meniu de pauză este crucială pentru orice joc Unity, oferind jucătorilor un moment de respirație și de acces la opțiuni. Acest tutorial vă ghidează prin crearea acestuia, inclusiv exemple de cod și explicații.

1. Proiectați-vă meniul de pauză

  • Schițați aspectul dorit, inclusiv butoanele (Reluare, Opțiuni, Ieșire).
  • Luați în considerare utilizarea panourilor transparente pentru o senzație mai puțin intruzivă.

2. Creați pânza

  • În panoul Ierarhie, faceți clic dreapta și alegeți "UI -> Canvas".
  • Setați "Render Mode" la "Screen Space - Overlay" pentru o poziționare corectă.

3. Construiți panoul de meniu

  • Sub Canvas, faceți clic dreapta și alegeți "UI -> Panel".
  • Redimensionați și poziționați panoul conform designului dvs.
  • Redenumiți-l în "PauseMenu" pentru o organizare mai bună.

4. Adăugați butoane

  • Faceți clic dreapta în panoul PauseMenu și alegeți "UI -> Button."
  • Repetați pentru fiecare buton dorit (Reluare, Opțiuni, Ieșire).
  • Numiți-le în mod corespunzător (de exemplu, "ResumeButton").
  • Personalizați-le textul, dimensiunea și poziția.

5. Scriptarea logicii

  • Creați un nou script C# numit "PauseMenu.cs."
  • Atașați scriptul la obiectul PauseMenu din Ierarhie.

6. Funcționalitatea pauză

'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. Interacțiuni cu butoane

  • În fereastra Inspector, selectați fiecare buton.
  • Faceți clic pe „+” de lângă "OnClick" și trageți scriptul 'PauseMenu' pe câmp.
  • Alegeți funcția corespunzătoare (de exemplu, ResumeGame pentru ResumeButton).

8. Atingeri suplimentare

  • Personalizați stilurile butoanelor, adăugați efecte sonore sau implementați meniuri de opțiuni.
  • Luați în considerare utilizarea prefabs pentru reutilizarea în diferite scene.

Concluzie

Sperăm că acest ghid v-a dat un avans în construirea unui meniu de pauză funcțional în Unity. Nu uitați să extindeți această bază adăugând mai multe funcții și adaptându-l la nevoile specifice ale jocului dvs.

Articole sugerate
Crearea unui efect de filtru pentru bandă VHS în Unity
Crearea unui umbritor de iarbă simplu în Unity
Crearea unui ecran de încărcare în Unity
Tutorial meniul principal pentru Unity
Crearea unei interfețe de utilizare Winner Screen în Unity
Crearea simulatoarelor de zbor în Unity
Puterea texturilor de substituent pentru prototipare în Unity