Створення меню паузи в Unity

Додавання меню паузи має вирішальне значення для будь-якої гри Unity, оскільки воно дає гравцям можливість відпочити та отримати доступ до опцій. Цей підручник допоможе вам створити його, включаючи приклади коду та пояснення.

1. Створіть своє меню паузи

  • Намалюйте бажаний макет, включаючи кнопки (Продовжити, Параметри, Вийти).
  • Подумайте про використання прозорих панелей для менш нав’язливого відчуття.

2. Створіть полотно

  • На панелі «Ієрархія» клацніть правою кнопкою миші та виберіть "UI -> Canvas".
  • Встановіть "Render Mode" на "Screen Space - Overlay" для правильного позиціонування.

3. Створіть панель меню

  • Під Canvas клацніть правою кнопкою миші та виберіть "UI -> Panel".
  • Змініть розмір і розташуйте панель відповідно до вашого дизайну.
  • Перейменуйте його на "PauseMenu" для кращої організації.

4. Додати кнопки

  • Клацніть правою кнопкою миші на панелі PauseMenu та виберіть "UI -> Button."
  • Повторіть для кожної потрібної кнопки (Продовжити, Параметри, Вийти).
  • Назвіть їх відповідно (наприклад, "ResumeButton").
  • Налаштуйте їх текст, розмір і положення.

5. Написання логіки

6. Функція паузи

'PauseMenu.cs'

public class PauseMenu : MonoBehaviour
{
    public bool isPaused; // Flag to track pause state

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            // Toggle pause state on Escape key press
            isPaused = !isPaused;
            if (isPaused)
            {
                PauseGame();
            }
            else
            {
                ResumeGame();
            }
        }
    }

    void PauseGame()
    {
        // Set Time.timeScale to 0 to pause gameplay
        Time.timeScale = 0;
        // Make PauseMenu panel visible (activate its gameObject)
        PauseMenu.gameObject.SetActive(true);
    }

    void ResumeGame()
    {
        // Set Time.timeScale back to 1 to resume gameplay
        Time.timeScale = 1;
        // Hide PauseMenu panel (deactivate its gameObject)
        PauseMenu.gameObject.SetActive(false);
    }
}

7. Взаємодія кнопок

  • У вікні інспектора виберіть кожну кнопку.
  • Натисніть «+» біля "OnClick" і перетягніть сценарій 'PauseMenu' на поле.
  • Виберіть відповідну функцію (наприклад, ResumeGame для ResumeButton).

8. Додаткові штрихи

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

Висновок

Сподіваємось, цей посібник дав вам фору для створення робочого меню паузи в Unity. Не забувайте розширювати цю базу, додаючи більше функцій і пристосовуючи її до потреб вашої гри.

Рекомендовані статті
Підручник головного меню для Unity
Створення простого шейдера трави в Unity
Створення ефекту фільтра стрічки VHS в Unity
Створення екрану завантаження в Unity
Робота з системою інтерфейсу Unity
Основні поради щодо постобробки для Unity
Створення інтерфейсу користувача екрану переможця в Unity