Создание разделов, как в UltraFuck

TastyBread123

Известный
Автор темы
631
302
Версия MoonLoader
.026-beta
1676723132359.png


Есть подозрение, что это делается скрытием окна из которого делается переход, и появлением по факту нового окна.
Так ли это?
 
  • Ха-ха
Реакции: Mintha

Yuriy Code

Известный
753
928
Привет. Эти кнопки - думаю, это просто Button.
А разделы сделать просто.
Рендер определённых элементов делаешь по значению переменной.

Вот пример:
Lua:
current = 1

function imgui.OnDrawFrame()
imgui.Begin("Окно")
if imgui.Button("Раздел 1") then current = 1 end
if imgui.Button("Раздел 2") then current = 2 end

if current == 1 then
imgui.Text("Выбран раздел 1")
end

if current == 2 then
imgui.Text("Выбран раздел 2")
end

imgui.End()
end
 

whyega52

Гений, миллионер, плейбой, долбаеб
Модератор
2,799
2,659
Посмотреть вложение 190423

Есть подозрение, что это делается скрытием окна из которого делается переход, и появлением по факту нового окна.
Так ли это?
Один из вариантов реализации:
Lua:
local page = "main"

local button = {
    "main",
    "other",
    "hz"
} -- названия кнопок

-- в рендере имгуи

for i, name in ipairs(button) do
    if imgui.Button(name) then
        page = name
    end
end

if page == "main" then
    imgui.Text("вкладка номер один")
    imgui.Button("button from main")
elseif page == "other" then
   imgui.Text("вкладка номер два")
    imgui.Button("button from other")
else
    imgui.Text("вкладка номер три")
    imgui.Button("button from hz")
end -- тут код говно, подредактируй под свое

Спасибо всем за помощь. Есть еще один вопрос: есть ли какой-то параметр, который отвечает за размер кнопки?
Lua:
 imgui.Button("name", imgui.ImVec2(75, 30)) -- 75 длина, 30 высота
 
Последнее редактирование: