кнопка imgui

Ne0nD0

Участник
Автор темы
58
0
Версия MoonLoader
.026-beta
возник вопрос,как сделать так чтобы ты тип нажал на кнопку и она изменила цвет?
 
Решение
ну типа вкладок
первое шо пришло в голову
Lua:
local list = {
    {actived = true, name = "a"},
    {actived = false, name = "b"}
}

for k, v in ipairs(list) do
    imgui.PushStyleColor(imgui.Col.Button, bool and imgui.ImVec4(1, 1, 1, 1) or imgui.ImVec4(0.5, 0.5, 0.5, 1))
    if imgui.Button(v.name) then
        v.actived = not v.actived
        for i, v in ipairs(list) do
            if i ~= k then
                v.actived = false
            end
        end
    end
    imgui.PopStyleColor(
end

if list[1].actived then
    imgui.Text("1 page")
else
    imgui.Text("2 page")
end

whyega52

Eblang головного мозга
Модератор
2,839
2,779
возник вопрос,как сделать так чтобы ты тип нажал на кнопку и она изменила цвет?
в теории так:
Lua:
local bool = false

imgui.PushStyleColor(imgui.Col.Button, bool and imgui.ImVec4(1, 1, 1, 1) or imgui.ImVec4(0.5, 0.5, 0.5, 1))
if imgui.Button("color") then bool = not bool end
imgui.PopStyleColor() -- мб ошибки в названиях функций, т.к. не помню как точно пишутся
 
  • Нравится
Реакции: YarikVL

Ne0nD0

Участник
Автор темы
58
0
в теории так:
Lua:
local bool = false

imgui.PushStyleColor(imgui.Col.Button, bool and imgui.ImVec4(1, 1, 1, 1) or imgui.ImVec4(0.5, 0.5, 0.5, 1))
if imgui.Button("color") then bool = not bool end
imgui.PopStyleColor() -- мб ошибки в названиях функций, т.к. не помню как точно пишутся
а как сделать с массивом переменных?)
 

whyega52

Eblang головного мозга
Модератор
2,839
2,779
ну типа вкладок
первое шо пришло в голову
Lua:
local list = {
    {actived = true, name = "a"},
    {actived = false, name = "b"}
}

for k, v in ipairs(list) do
    imgui.PushStyleColor(imgui.Col.Button, bool and imgui.ImVec4(1, 1, 1, 1) or imgui.ImVec4(0.5, 0.5, 0.5, 1))
    if imgui.Button(v.name) then
        v.actived = not v.actived
        for i, v in ipairs(list) do
            if i ~= k then
                v.actived = false
            end
        end
    end
    imgui.PopStyleColor(
end

if list[1].actived then
    imgui.Text("1 page")
else
    imgui.Text("2 page")
end
 
Последнее редактирование:
  • Нравится
Реакции: Ne0nD0

Ne0nD0

Участник
Автор темы
58
0
первое шо пришло в голову
Lua:
local list = {
    {actived = true, name = "a"},
    {actived = false, name = "b"}
}

for k, v in ipairs(list) do
    imgui.PushStyleColor(imgui.Col.Button, bool and imgui.ImVec4(1, 1, 1, 1) or imgui.ImVec4(0.5, 0.5, 0.5, 1))
    if imgui.Button(v.name) then
        v.actived = not v.actived
        for i, v in ipairs(list) do
            if i ~= v then
                v.actived = false
            end
        end
    end
    imgui.PopStyleColor(
end

if list[1].actived then
    imgui.Text("1 page")
else
    imgui.Text("2 page")
end
хм,ща попробую