Начинающий
-
Автор темы
- #1
Всем здравствуйте.
Мне нужна помощь с отрисовкой HP Bar.
Помогите показать и рассказать и объяснить на примере картинки и моего кода, как отросовывать Hp Bar во всех 4 случаях(Слева, сверху, справа, снизу).
Мне это нужно для понимания как с таким работать.
Rect.left or right and etc.. у меня вызывается с помощью функции BBox, код которого на фото внизу.
Код HP Bar Слева и справа:
P.S. Там где вопросы я не знаю что писать.
Так же если нужно вот код самого BBOX()
Мне нужна помощь с отрисовкой HP Bar.
Помогите показать и рассказать и объяснить на примере картинки и моего кода, как отросовывать Hp Bar во всех 4 случаях(Слева, сверху, справа, снизу).
Мне это нужно для понимания как с таким работать.
Rect.left or right and etc.. у меня вызывается с помощью функции BBox, код которого на фото внизу.
Код HP Bar Слева и справа:
Hp Bar LEFT & RIGHT:
CVector2 pos(int(rect.left) - 7, int(rect.top) + 1);
CVector2 size(1.f, (-std::abs(int(rect.bottom - rect.top)) * delta) - 2.f);
CVector2 pos_right(int(rect.right) - 7, int(rect.top) + 1);
CVector2 size_right(1.f, (-std::abs(int(rect.bottom - rect.top)) * delta) - 2.f);
switch (HpType)
{
case 1: // left
{
DrawSimpleBox(pos, size, CColor(red, green, 0)); // Сама полоска здоровья
g_pRender->DrawRect(CVector2(int(rect.left) - 8, int(rect.top) + 1), CVector2(3, int(rect.bottom - rect.top) - 2), CColor(0, 0, 0)); // Обводка
break;
}
case 2: // bottom
{
?
?
break;
}
case 3: // top
?
?
break;
case 4: // right
DrawSimpleBox(pos_right, size_right, CColor(red, green, 0)); // Сама полоска здоровья
g_pRender->DrawRect(CVector2(int(rect.left) - 8, int(rect.top) + 1), CVector2(3, int(rect.bottom - rect.top) - 2), CColor(0, 0, 0)); // Обводка
break;
}
Так же если нужно вот код самого BBOX()