Cum să întrerupi jocul în Unity

Bun venit la tutorialul despre implementarea unei caracteristici pause în Unity. Această caracteristică simplă, dar esențială, poate îmbunătăți considerabil experiența jucătorului. Să ne aprofundăm în ghidul pas cu pas:

Pasul 1: Creați un script PauseManager

  • Începeți prin crearea a unui nou script C# în Unity și numiți-l "PauseManager" sau un nume la alegere.

Pasul 2: implementați funcționalitatea Pauză

  • Deschideți scriptul și înlocuiți codul existent cu următorul:

'PauseManager.cs'

using UnityEngine;

public class PauseManager : MonoBehaviour
{
    private bool isPaused = false;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
                ResumeGame();
            else
                PauseGame();
        }
    }

    void PauseGame()
    {
        Time.timeScale = 0f;
        isPaused = true;

        // Pause all audio
        AudioListener.pause = true;
    }

    void ResumeGame()
    {
        Time.timeScale = 1f;
        isPaused = false;

        // Resume all audio
        AudioListener.pause = false;
    }
}

Pasul 3: Atașați scriptul la un GameObject gol

  • Creați un GameObject gol în scena dvs. și atașați scriptul "PauseManager" la acesta. Acest script se va ocupa acum de funcționalitatea de pauză, inclusiv întreruperea și reluarea sunetului.

Pasul 4: Personalizați după cum este necesar

  • Simțiți-vă liber să personalizați scriptul în funcție de cerințele jocului dvs. Puteți schimba declanșatorul cheii, puteți adăuga funcții suplimentare sau puteți modifica comportamentul pentru a se potrivi nevoilor dvs. specifice.

Concluzie

Acum, când apăsați tasta desemnată în timpul rulării (implicit este Escape), jocul va pause fără probleme, inclusiv o pauză pentru tot sunetul. La reluare, atât jocul, cât și sunetul vor continua fără probleme, oferind o experiență de joc mai captivantă.