Зміст курсу
Бійцівська гра в Unity
Бійцівська гра в Unity
Інтерфейсна шкала здоров'я
Клас Player включає код для оновлення інтерфейсу смуги здоров'я на основі поточного здоров'я гравця. Це керується за допомогою трьох змінних: UIHealthTransform
, HealthUIScale
та startingHealthUIWidth
. Нижче наведено пояснення, як ці змінні використовуються для управління смугою здоров'я.
Скрипт для смуги здоров'я
Ініціалізація в методі Start
У методі Start
початковий розмір смуги здоров'я захоплюється та зберігається.
Оновлення здоров'я в методі GetAttacked
Метод GetAttacked
оновлює інтерфейс користувача смуги здоров'я щоразу, коли гравець отримує пошкодження.
Зменшення здоров'я:
Здоров'я гравця зменшується на величину отриманого пошкодження.
Розрахунок масштабу смуги здоров'я:
Пояснення
Цей рядок коду оновлює ширину смуги здоров'я на основі поточного здоров'я гравця. Ось як це працює:
Здоров'я:
health
— це число з плаваючою комою, яке представляє поточне здоров'я гравця. Припустимо, воно варіюється від 0 до 100.
Початкова ширина смуги здоров'я:
startingHealthUIWidth
— це число з плаваючою комою, яке представляє початкову ширину смуги здоров'я, коли у гравця повне здоров'я.
Масштабування ширини смуги здоров'я: Мета полягає в тому, щоб пропорційно зменшити ширину смуги здоров'я у міру зменшення здоров'я гравця; Щоб досягти цього, потрібно розрахувати, який відсоток здоров'я гравця залишився, а потім застосувати цей відсоток до початкової ширини смуги здоров'я.
Пошаговий розрахунок
Відсоток залишкового здоров'я:
Розділіть поточне здоров'я на 100, щоб отримати значення від 0 до 1, яке представляє відсоток залишкового здоров'я гравця. Наприклад, якщо здоров'я гравця становить 75, health / 100f
дасть 0.75
.
Цей розрахунок переводить значення здоров'я у відсотковий формат, придатний для відображення в інтерфейсі користувача.
Застосування відсотка до початкової ширини:
Помножте відсоток залишкового здоров'я на початкову ширину смуги здоров'я. Наприклад, якщо startingHealthUIWidth
дорівнює 200 (повна ширина), а здоров'я гравця становить 75%, нова ширина смуги здоров'я буде 150 одиниць (0.75 * 200 = 150
).
Використовуючи цей розрахунок, ширина смуги здоров'я динамічно та точно відображає поточне здоров'я гравця, надаючи гравцеві чіткий візуальний зворотний зв'язок.
Оновлення інтерфейсу панелі здоров'я:
Розмір RectTransform
, що представляє панель здоров'я, оновлюється.
Перевірка смерті гравця:
Якщо здоров'я падає до 0 або нижче, гравець позначається як мертвий, і запускаються анімація смерті та частинки.
Підсумок функціональності інтерфейсу панелі здоров'я
Ініціалізація: Початковий розмір панелі здоров'я фіксується на початку.
Оновлення панелі здоров'я: Коли гравець отримує пошкодження, значення здоров'я зменшується, і ширина панелі здоров'я перераховується та оновлюється відповідно.
Смерть гравця: Якщо здоров'я досягає нуля, гравець позначається як мертвий, запускаються анімація смерті та частинки, і гра завершується.
Дякуємо за ваш відгук!