Полоска здоровья / энергии [Unity Project]

Отображение здоровья или энергии в играх бывает в виде обычного текста или в виде полоски определенного цвета, иногда комбинируют одно с другим. В любом случаи, текстовый вариант очень прост, достаточно лишь пары переменных и несколько условий. Другое дело, когда хочется сделать полоску, например, здоровья. Здесь не только надо правильно настроить GUI, но и чтобы учитывалось разрешение экрана, то есть авто подгонка по ширине, чтоб на разных разрешениях выглядело так, как задумывалось. В общем, NULLcode Studio представляет небольшой проект, который обеспечит вывод энергии или здоровья персонажа, в виде полоски.

Итак, разберемся с настройками:

Максимально возможный уровень здоровья.
float maxHealth = 100f;


Текущее значение, может быть от 0 и до maxHealth.
HealthEnergyBar.currentHealth;


Ширина полоски, рассчитывается относительно ширины экрана, чем больше число, тем меньше полоска. То есть, регулировать ширину полосы вручную ненужно, надо просто подобрать опытным путем нужное число и всё.
int healthWidth = 5;


Расположение, если полоска на правой стороне экрана, ставим галочку.
bool healthRight;

Полоска здоровья / энергии [Unity Project]

Нужно так-же правильно установить пресет якоря, в зависимости от того, в каком из углов экрана находится объект. Допустим если полоска установлена в верхнем левом углу и выбран соответствующий пресет, то вытягиваться она будет вправо при высоком разрешении экрана, а сжиматься влево, если разрешение низкое. Позиция останется неизменной, поставил и забыл, как говорится.

Теперь, функции:

Изменение текущего уровня здоровья, например, AdjustCurrentHealth(5) добавить или AdjustCurrentHealth(-5), чтобы убавить.
HealthEnergyBar.use.AdjustCurrentHealth(-5);


Если в игре есть настройки разрешения экрана, то после изменения разрешения, нужно выполнить эту функцию.
HealthEnergyBar.use.UpdateRectUI();


Собственно, на этом всё. Остальное сможете изучить сами.

Скачать проект Unity:

Внимание! Посетители, находящиеся в группе Гости, не могут скачивать файлы.

Комментариев 3

Офлайн
oleksandr.klimenko 3 сентября 2016
Light,
Супер, все работает. Спасибо!
Офлайн
Light 3 сентября 2016
oleksandr.klimenko, скрипт изменен. Поэтому нужно скачать проект заново. Статья отредактирована, там показан пример вызова функций из другого класса.
Офлайн
oleksandr.klimenko 3 сентября 2016
Подскажите, пожалуйста, как правильно вызвать метод AdjustCurrentHealth из скрипта другого объекта? Заранее благодарен!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика