Зміст курсу
Бійцівська гра в Unity
Бійцівська гра в Unity
Створити Головне Меню
Головне Меню
Скрипт для Головного Меню
Клас MainUI
- це простий скрипт, який надає функціональність для початку гри та виходу з програми. Цей скрипт призначений для використання з кнопками інтерфейсу в Unity.
Визначення класу та методи
Метод StatTheGame
призначений для ініціації гри шляхом завантаження нової сцени. Зокрема, SceneManager.LoadScene(1)
вказує Unity завантажити сцену з індексом збірки 1
, що відповідає її позиції в налаштуваннях збірки.
Метод Quit
дозволяє закрити програму, викликавши Application.Quit()
, хоча ця функціональність ефективна лише в зібраній програмі і не в Unity Editor.
Використання в Unity
Прикріплення скрипту
Створіть GameObject (наприклад, порожній GameObject або елемент інтерфейсу).
Прикріпіть скрипт MainUI
до GameObject, перетягнувши скрипт на нього або використовуючи кнопку Add Component
в Інспекторі.
Налаштування кнопок інтерфейсу
Створіть кнопку інтерфейсу (наприклад, GameObject > UI > Button
).
Виберіть кнопку і перейдіть до Інспектора.
У розділі On Click ()
натисніть кнопку +
, щоб додати нову подію.
Перетягніть GameObject з прикріпленим скриптом MainUI
в поле об'єкта.
З випадаючого списку виберіть MainUI > functionName
.
Менеджер Гри
Скрипт для Менеджера Гри
Клас GameManager
відповідає за управління станом гри. Він використовує патерн сінглтон, щоб забезпечити наявність лише одного екземпляра GameManager
у грі, керує станом гри та транслює зміни стану за допомогою подій.
Визначення класу та змінні-члени
Методи
Метод Awake
Призначення: Забезпечує існування лише одного екземпляра GameManager
і запобігає його знищенню при завантаженні нових сцен.
Шаблон Singleton: Перевіряє, чи вже існує екземпляр. Якщо так, знищує дублікат. В іншому випадку, призначає екземпляр і позначає об'єкт, щоб він не знищувався при завантаженні нової сцени.
Метод Start
Призначення: Ініціалізує стан гри як Playing
при старті гри і викликає подію onGameStateChanges
.
Метод FinishGame
Призначення: Встановлює стан гри як Finished
і викликає подію onGameStateChanges
.
Перерахування GameStates
Призначення: Визначає можливі стани гри.
Реакція ворога на зміни стану гри
Цей метод обробляє зміни стану гри. Коли стан гри змінюється на Finished
, стан ворога змінюється на idle
.
Панель завершення
Скрипт для панелі завершення
Клас FinishPanel
обробляє відображення та функціональність панелі завершення, яка з'являється, коли гра закінчується. Ця панель надає гравцю зворотний зв'язок про те, чи він виграв або програв, і пропонує варіанти повернення до головного меню або виходу з гри.
Пояснення
Методи
Метод Start
Призначення: Підписується на подію GameManager.onGameStateChanges
, щоб слухати зміни в стані гри.
Метод GameManager_onGameStateChanges
Призначення: Обробляє зміни стану гри. Коли стан гри Finished
, активує панель завершення та викликає OnGameFinished
.
Метод OnGameFinished
Призначення: Оновлює текст панелі завершення в залежності від того, чи гравець мертвий або живий.
Логіка: Якщо гравець мертвий, метод встановлює текст "You lost" червоним кольором. Якщо гравець живий, встановлює текст "You Won" зеленим кольором.
Метод BackToMainMenu
Призначення: Завантажує сцену головного меню (індекс збірки 0) при виклику. Цей метод призначений для зв'язку з кнопкою в інтерфейсі користувача.
Метод Quit
Призначення: Виходить з програми при виклику. Цей метод призначений для зв'язку з кнопкою в інтерфейсі користувача.
Підсумок
Клас FinishPanel
відображає результати завершення гри та пропонує варіанти повернення до головного меню або виходу. Він підписується на GameManager.onGameStateChanges
, щоб відповідно оновлюватися, коли гра завершується, покращуючи користувацький досвід чітким зворотним зв'язком та інтуїтивними опціями.
Дякуємо за ваш відгук!