Как приостановить игру в 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, включая паузу для всего звука. После возобновления игра и звук продолжатся плавно, обеспечивая более захватывающий игровой процесс.