Rainbow bar [Imgui]

Статус
В этой теме нельзя размещать новые ответы.
//comment your shit paste
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2017
Сообщения
450
Реакции[?]
119
Поинты[?]
0
Хочу засунуть радужную полоску в ImGui. Как это сделать?
P.S. Я ее уже отрисовал
 
Забаненный
Статус
Оффлайн
Регистрация
1 Ноя 2017
Сообщения
28
Реакции[?]
17
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
void DrawSkeetBar(int x, int y, int width, int height, float flSpeed, float &flRainbow)
{
Color ColorS;
flRainbow += flSpeed;
if (flRainbow > 1.f) flRainbow = 0.f;
for (int i = 0; i < width; i++)
{
float flvalue = (1.f / (float)width) * i;
flvalue -= flRainbow;
if (flvalue < 0.f)
flvalue += 1.f;
Color cRainbow = ColorS.FromHSB(flvalue , 1.f, 1.f);
Interfaces.pSurface->DrawSetColor(cRainbow.r(), cRainbow.b(), cRainbow.g(), 0xFF);
Interfaces.pSurface->DrawFilledRect(x + i, y, width, height);
}
}
Правда? Ляяяя, а я то и не знал
 
//comment your shit paste
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2017
Сообщения
450
Реакции[?]
119
Поинты[?]
0
void DrawSkeetBar(int x, int y, int width, int height, float flSpeed, float &flRainbow)
{
Color ColorS;
flRainbow += flSpeed;
if (flRainbow > 1.f) flRainbow = 0.f;
for (int i = 0; i < width; i++)
{
float flvalue = (1.f / (float)width) * i;
flvalue -= flRainbow;
if (flvalue < 0.f)
flvalue += 1.f;
Color cRainbow = ColorS.FromHSB(flvalue , 1.f, 1.f);
Interfaces.pSurface->DrawSetColor(cRainbow.r(), cRainbow.b(), cRainbow.g(), 0xFF);
Interfaces.pSurface->DrawFilledRect(x + i, y, width, height);
}
}
P.S. Я ее уже отрисовал
 
дед
Забаненный
Статус
Оффлайн
Регистрация
22 Июл 2016
Сообщения
325
Реакции[?]
126
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
наверное блять вызвать?
 
//comment your shit paste
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2017
Сообщения
450
Реакции[?]
119
Поинты[?]
0
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,825
Реакции[?]
1,852
Поинты[?]
24K
Функция отрисовки элемента
Код:
void ImDrawRectRainbow(int x, int y, int width, int height, float flSpeed, float &flRainbow)
    {
        ImDrawList* windowDrawList = ImGui::GetWindowDrawList();

        Color colColor(0, 0, 0, 255);

        flRainbow += flSpeed;
        if (flRainbow > 1.f) flRainbow = 0.f;//1 0

        for (int i = 0; i < width; i = i + 1)
        {
            float hue = (1.f / (float)width) * i;
            hue -= flRainbow;
            if (hue < 0.f) hue += 1.f;

            Color colRainbow = colColor.FromHSB(hue, 1.f, 1.f);
            windowDrawList->AddRectFilled(ImVec2(x + i, y), ImVec2(width, height), colRainbow.GetU32());
        }
    }
Использование
Код:
static float flRainbow;
float flSpeed = 0.002;
int curWidth = 4;
ImVec2 curPos = ImGui::GetCursorPos();
ImVec2 curWindowPos = ImGui::GetWindowPos();
curPos.x += curWindowPos.x;
curPos.y += curWindowPos.y;
int size;
int y;
Interfaces::Engine()->GetScreenSize(y, size);
ImDrawRectRainbow(curPos.x - 6, curPos.y - 6, ImGui::GetWindowSize().x + size, curPos.y + 2, flSpeed, flRainbow);
P.S.: Взято из пасты индиго
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу