Як призупинити гру в 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), гра буде плавно пауза, включаючи паузу на всьому аудіо. Після відновлення і гра, і звук плавно продовжаться, забезпечуючи більш захоплюючий ігровий досвід.

Рекомендовані статті
Як стати кращим програмістом в Unity
Як зробити так, щоб об’єкт слідував за курсором миші в Unity
Реалізація об’єктного пулу в Unity
Створення гри на основі Pac-Man в Unity
Як відтворювати відеофайли в Unity
Створення симулятора полювання в Unity
Створення ефекту тремтіння камери в Unity