Jak wstrzymać grę w Unity

Witamy w samouczku dotyczącym implementowania funkcji pause w Unity. Ta prosta, ale istotna funkcja może znacznie poprawić wrażenia gracza. Przejdźmy do przewodnika krok po kroku:

Krok 1: Utwórz skrypt PauseManager

  • Zacznij od utworzenia nowego skryptu C# w Unity i nadaj mu nazwę "PauseManager" lub dowolną inną.

Krok 2: Zaimplementuj funkcję pauzy

  • Otwórz skrypt i zastąp istniejący kod następującym kodem:

'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;
    }
}

Krok 3: Dołącz skrypt do pustego obiektu GameObject

  • Utwórz pusty obiekt GameObject w swojej scenie i dołącz skrypt "PauseManager" do niego. Ten skrypt będzie teraz obsługiwać funkcję wstrzymywania, w tym wstrzymywanie i wznawianie dźwięku.

Krok 4: Dostosuj według potrzeb

  • Możesz dostosować skrypt do wymagań swojej gry. Możesz zmienić kluczowy wyzwalacz, dodać dodatkowe funkcje lub zmodyfikować zachowanie, aby dostosować je do swoich konkretnych potrzeb.

Wniosek

Teraz, gdy naciśniesz wyznaczony klawisz w czasie działania (domyślnie jest to Escape), gra płynnie wykona pauzę, włączając pauzę w całym dźwięku. Po wznowieniu zarówno gra, jak i dźwięk będą płynnie kontynuowane, zapewniając bardziej wciągające wrażenia z gry.

Sugerowane artykuły
Jak sprawić, by obiekt podążał za kursorem myszy w Unity
Jak zostać lepszym programistą w Unity
Tworzenie gry inspirowanej Pac-Manem w Unity
Jak odtwarzać pliki wideo w Unity
Tworzenie symulatora polowań w Unity
Tworzenie efektu drgań aparatu w Unity
Jak dodać efekt lunety snajperskiej w Unity