///
-
Автор темы
- #1
qq all Пастерс бойс энд гёрлс!
Сегодня сделаем себе в чит красивые баттоны (При украсим, так сказать)
Вот как будет выглядеть:
1. Просто в стоке:
2. При наведении курсора:
P.S. Если кто то еще хочет что либо по Indigo пишите в ЛС - предлагайте кароче)
А мы погнали)
P.S. x2 Кароче все как всегда очень просто, но прошу не писать тех, кто хочет написать сообщение по типу: "Да это же изи, просто изи, ты лох, я это за 2 секи сделаю"
Такие люди будут игнориться, я делаю гайд для тех кому не понятно как и куда что вставить)
Тех кто не понял как что куда вставлять жду в ЛС форума...... Надеюсь таких не будет
Сегодня сделаем себе в чит красивые баттоны (При украсим, так сказать)
Вот как будет выглядеть:
1. Просто в стоке:
Пожалуйста, авторизуйтесь для просмотра ссылки.
2. При наведении курсора:
Пожалуйста, авторизуйтесь для просмотра ссылки.
P.S. Если кто то еще хочет что либо по Indigo пишите в ЛС - предлагайте кароче)
А мы погнали)
imgui.cpp
Нажимаем Ctrl+F, и в строку поиска вводим: "bool ImGui::ButtonEx"
Screen:
Нажимаем Ctrl+F, и в строку поиска вводим: "bool ImGui::ButtonEx"
Screen:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Заменяем Этот код:
На этот код:
Код:
bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags flags)
{
ImGuiWindow* window = GetCurrentWindow();
if (window->SkipItems)
return false;
ImGuiContext& g = *GImGui;
const ImGuiStyle& style = g.Style;
const ImGuiID id = window->GetID(label);
const ImVec2 label_size = CalcTextSize(label, NULL, true);
ImVec2 pos = window->DC.CursorPos;
if ((flags & ImGuiButtonFlags_AlignTextBaseLine) && style.FramePadding.y < window->DC.CurrentLineTextBaseOffset)
pos.y += window->DC.CurrentLineTextBaseOffset - style.FramePadding.y;
ImVec2 size = CalcItemSize(size_arg, label_size.x + style.FramePadding.x * 2.0f, label_size.y + style.FramePadding.y * 2.0f);
const ImRect bb(pos, pos + size);
ItemSize(bb, style.FramePadding.y);
if (!ItemAdd(bb, &id))
return false;
if (window->DC.ButtonRepeat) flags |= ImGuiButtonFlags_Repeat;
bool hovered, held;
bool pressed = ButtonBehavior(bb, id, &hovered, &held, flags);
const ImU32 col = GetColorU32((hovered && held) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
RenderFrame(bb.Min, bb.Max, col, true, style.FrameRounding);
RenderTextClipped(bb.Min + style.FramePadding, bb.Max - style.FramePadding, label, NULL, &label_size, style.ButtonTextAlign, &bb);
//if (pressed && !(flags & ImGuiButtonFlags_DontClosePopups) && (window->Flags & ImGuiWindowFlags_Popup))
// CloseCurrentPopup();
return pressed;
}
Код:
bool ImGui::ButtonEx(const char* label, const ImVec2& size_arg, ImGuiButtonFlags flags)
{
ImGuiWindow* window = GetCurrentWindow();
if (window->SkipItems)
return false;
ImGuiContext& g = *GImGui;
const ImGuiStyle& style = g.Style;
const ImGuiID id = window->GetID(label);
const ImVec2 label_size = CalcTextSize(label, NULL, true);
ImVec2 pos = window->DC.CursorPos;
if ((flags & ImGuiButtonFlags_AlignTextBaseLine) && style.FramePadding.y < window->DC.CurrentLineTextBaseOffset)
pos.y += window->DC.CurrentLineTextBaseOffset - style.FramePadding.y;
ImVec2 size = CalcItemSize(size_arg, label_size.x + style.FramePadding.x * 2.0f, label_size.y + style.FramePadding.y * 2.0f);
const ImRect bb(pos, pos + size);
ItemSize(bb, style.FramePadding.y);
if (!ItemAdd(bb, &id))
return false;
if (window->DC.ButtonRepeat) flags |= ImGuiButtonFlags_Repeat;
bool hovered, held;
bool pressed = ButtonBehavior(bb, id, &hovered, &held, flags);
auto color_grey = ImGui::GetColorU32(ImVec4(0.4, 0.4, 0.4, 0.65));
auto color_black = ImGui::GetColorU32(ImVec4(0.1, 0.1, 0.1, 0.45));
const ImU32 col = GetColorU32((hovered && held) ? ImGuiCol_ButtonActive : hovered ? ImGuiCol_ButtonHovered : ImGuiCol_Button);
RenderFrame(bb.Min, bb.Max, col, true, style.FrameRounding);
RenderTextClipped(bb.Min + style.FramePadding, bb.Max - style.FramePadding, label, NULL, &label_size, style.ButtonTextAlign, &bb);
window->DrawList->AddRect(bb.Min, bb.Max, GetColorU32(ImVec4(0.6f, 0.6f, 0.6f, 1.0f)));
window->DrawList->AddRectFilledMultiColor(bb.Min, bb.Max, color_grey, color_grey, color_black, color_black);
return pressed;
}
Этот спойлер для тех кто хочет сделать свечение при наводке другого цвета)
Если хотите что бы я добавил к этому гайду как добавить свечение другого цвета, или серый заменить на любой другой, то отпишите в коменты или в ЛС форума с пометкой: "Цвет"
Всех Чпок :*
Если хотите что бы я добавил к этому гайду как добавить свечение другого цвета, или серый заменить на любой другой, то отпишите в коменты или в ЛС форума с пометкой: "Цвет"
Всех Чпок :*
Такие люди будут игнориться, я делаю гайд для тех кому не понятно как и куда что вставить)
Тех кто не понял как что куда вставлять жду в ЛС форума...... Надеюсь таких не будет
Последнее редактирование: