-
Автор темы
- #1
Код для расчета длинны бара | Code for calculate bar length
C++:
vec2 box_start(...); //Начало бокса | Box start pos
vec2 box_stop(...); //Конец бокса | Box end pos
float bar_weight = 2.f; // Ширина бара | Bar weight
float spacing = 2.f; //Отступ | Spacing
float hp_min = 0.f; //Минимальное кол-во хп | Min health
float hp_max = 100.f; //Максимальное кол-во хп | Max health
float health = ...; //Настоящее хп | Current health
vec2 bar_start(box_start.x - bar_weight - (spacing / 1.5f), box_start.y);
float bar_ratio = static_cast<float>(health - hp_min) / (hp_max - hp_min);
float bar_length = std::clamp(((box_stop.y - box_start.y) * bar_ratio), 0.f, height);
vec2 bar_stop(bar_start.x + bar_weight, bar_start.y + bar_length);
Последнее редактирование: