Всем привет если вы хоть раз пробовали разрабатывать игры, то у вас наверняка появлялся вопрос: "А как сделать Progress bar? ". Он используется почти в большинстве проектов, может отображать здоровье персонажа, шкалу заполнения квестов и тому подобное. Сегодня мы с вами посмотрим как сделать Progress bar в Unity.
- Заходим в Unity и первым делом создаём новый Image дадим ему название "Background".
- Делаем его прямоугольным, это будет задний фон для нашего Progress Bar.
- Теперь создаём ещё один Image дадим ему название "Bar", это будет шкала, которая будет увеличиваться и уменьшаться в зависимости от того сколько HP сейчас у персонажа.
- Делаем её чуть меньше чем "Background".
- Теперь Image, который у нас называется "Bar" на нужно загрузить любое изображение, можно загрузить просто белый квадрат.
- После этого у вас станет доступна функция "Image Type". И в появившимся окошке выбираем "Filled".
- Далее в "Fill Method" выбираем "Horizontal"
- Теперь когда мы будем менять значение "Fill Amount" у нас шкала будет увеличиваться и уменьшаться. В принципе на этом с Unity закончили. Перейдём к скрипту где при столкновении с врагом мы будем вычитать здоровье у персонажа и отображать его в Progress Bar.
- Создаём новый скрипт и назовём его "HpBar".
- Перекидываем его на персонажа и открываем редактор кода.
- Подключаем библиотеку "UnityEngine.UI".
- Создаём публичную переменную которая будет отвечать за то сколько HP будет у персонажа.
- Также создаём переменную с типом "Image", это будет шкала здоровья.
- Далее проверяем коснулся ли игрок врага и если коснулся, то отнимаем HP и в FillAmount записываем значение переменной HP делённое на 100, так как при старте у персонажа именно столько HP.
- Сохраняем скрипт.
- Переходим к игроку и в окошко "Bar" перекидываем шкалу которую мы заранее создали.
Теперь запускаем игру и проверяем.