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.