Як призупинити гру в Unity
Ласкаво просимо до підручника щодо впровадження функції pause у Unity. Ця проста, але важлива функція може значно покращити досвід гравця. Давайте зануримося в покроковий посібник:
Крок 1: Створіть сценарій PauseManager
- Почніть із створення нового сценарію C# у Unity та назвіть його "PauseManager" або назву на ваш вибір.
Крок 2. Застосуйте функцію паузи
- Відкрийте сценарій і замініть наявний код таким:
'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;
}
}
Крок 3: Приєднайте сценарій до порожнього GameObject
- Створіть порожній GameObject у своїй сцені та прикріпіть сценарій "PauseManager" до нього. Тепер цей сценарій оброблятиме функцію паузи, зокрема призупинення та відновлення аудіо.
Крок 4: налаштуйте за потреби
- Не соромтеся налаштувати сценарій відповідно до вимог вашої гри. Ви можете змінити ключовий тригер, додати додаткові функції або змінити поведінку відповідно до ваших конкретних потреб.
Висновок
Тепер, якщо натиснути призначену клавішу під час виконання (за замовчуванням — Escape), гра буде плавно пауза, включаючи паузу на всьому аудіо. Після відновлення і гра, і звук плавно продовжаться, забезпечуючи більш захоплюючий ігровий досвід.