Как приостановить игру в 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 в своей сцене и прикрепите к нему скрипт "PauseManager". Этот скрипт теперь будет обрабатывать функцию паузы, включая приостановку и возобновление звука.

Шаг 4. Настройте по мере необходимости

  • Не стесняйтесь настраивать сценарий в соответствии с требованиями вашей игры. Вы можете изменить ключевой триггер, добавить дополнительные функции или изменить поведение в соответствии с вашими конкретными потребностями.

Заключение

Теперь при нажатии назначенной клавиши во время выполнения (по умолчанию — Escape) игра автоматически выполнит pause, включая паузу для всего звука. После возобновления игра и звук продолжатся плавно, обеспечивая более захватывающий игровой процесс.

Рекомендуемые статьи
Как стать лучшим программистом в Unity
Как заставить объект следовать за курсором мыши в Unity
Создание эффекта Bullet Time в Unity
Добавление входа игрока в машину в Unity
Реализация пула объектов в Unity
Создание игры-головоломки в Unity
Создание игры в стиле Pac-Man в Unity