Нужна помощь с Imgui

MixailScripts

Участник
Автор темы
83
6
При нажатии кнопки текст должен появлятся на всё меню а не с право от кнопки.
Код:

Lua:
local sw, sh = getScreenResolution()
function imgui.OnDrawFrame()
    imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(1000, 600), imgui.Cond.FirstUseEver)
    imgui.Begin(fa.ICON_FA_CROWN .. u8'                                                                                                         Helper Arizona by Mixail Velance v 1.0', show_main_window, imgui.WindowFlags.NoCollapse)
        if imgui.Button(fa.ICON_FA_BOOK_MEDICAL .. u8'    Описание', (imgui.ImVec2(162, 100))) then
             active = true
            active1 = false
            active2 = false
        end
        if imgui.Button(fa.ICON_FA_CUBES .. u8'    ВаллХак', (imgui.ImVec2(162, 100))) then
            active = false
            active1 = true
            active2 = false
            active3 = false
            active4 = false
        end
        if imgui.Button(fa.ICON_FA_CROSSHAIRS .. u8'    АимБот', (imgui.ImVec2(162, 100))) then
            active = false
            active1 = false
            active2 = true
            active3 = false
            active4 = false
        end
        if imgui.Button(fa.ICON_FA_CODE .. u8'    Скрипты', (imgui.ImVec2(162, 100))) then
            active = false
            active1 = false
            active2 = false
            active3 = true
            active4 = false
        end
        if imgui.Button(fa.ICON_FA_COMMENT_DOTS .. u8'    Биндер', (imgui.ImVec2(162, 100))) then
            active = false
            active1 = false
            active2 = false
            active3 = false
            active4 = true
        end
        if active then
        imgui.SameLine()
        imgui.SetCursorPosX((imgui.GetWindowWidth() - 5) / 5) --Указан центр
        imgui.BeginChild('text', imgui.ImVec2(100 , 100))
        imgui.Text('test')
        imgui.EndChild()
    end
    if active1 then
        imgui.SameLine()
        imgui.SetCursorPosX((imgui.GetWindowWidth() - 5) / 5) --Указан центр
        imgui.BeginChild('text1', imgui.ImVec2(100 , 100))
        imgui.Text('test1')
        imgui.EndChild()
    end
    if active2 then
        imgui.SameLine()
        imgui.SetCursorPosX((imgui.GetWindowWidth() - 5) / 5) --Указан центр
        imgui.BeginChild('text2', imgui.ImVec2(100 , 100))
        imgui.Text('test2')
        imgui.EndChild()
    end
    if active3 then
        imgui.SameLine()
        imgui.SetCursorPosX((imgui.GetWindowWidth() - 5) / 5) --Указан центр
        imgui.BeginChild('text3', imgui.ImVec2(100 , 100))
        imgui.Text('test3')
        imgui.EndChild()
    end
    if active4 then
        imgui.SameLine()
        imgui.SetCursorPosX((imgui.GetWindowWidth() - 5) / 5) --Указан центр
        imgui.BeginChild('text4', imgui.ImVec2(100 , 100))
        imgui.Text('test4')
        imgui.EndChild()
    end
    imgui.End()
end
1607247254057.png
 
Последнее редактирование модератором:
Решение
А кнопки вводить вот так?

imgui.Button(fa.ICON_FA_BOOK_MEDICAL .. u8' Описание', imgui.ImVec2(162, 100))
Да, также как и ранее делал, просто ты их оборачиваешь в группу, чтобы при создании бокового элемента/группы эта группа создавалась сверху, а не снизу, относительно последнего элемента.

MixailScripts

Участник
Автор темы
83
6
Ну так, что ты хочешь, поделив размер окна на 5 частей, разумеется ты получишь 1/5 части окна, а не половину.
А мне надо чтобы правая часть пренадлежала каждой функции
 

Hatiko

Известный
Проверенный
1,512
628
По хорошему боковые кнопки обвернуть в группу или чилд

Lua:
imgui.BeginGroup()
    ... кнопки
imgui.EndGroup()

imgui.SameLine() -- для корректировки отступа в параметры функции можно указать отступ, но он будет расчитываться от края окна
-- Здесь либо чилд на всё оставшееся окно используй, либо также группу, в которую будешь заключать элементы
-- Для центровки текста можно использовать imgui.CalcTextSize("текст").x
imgui.BeginChild("Child name", imgui.ImVec2(sizeX, sizeY))
    imgui.SameLine(sizeX/2-imgui.CalcTextSize("текст").x/2) -- Половина размера чилда минус половина размера текста - аля центровка
    imgui.Text("Text")
imgui.EndChild()
Здесь чисто математика, включай головёнку.

А мне надо чтобы правая часть пренадлежала каждой функции
Ты задаёшь вопрос, на который ты уже написал ответ в коде
 

MixailScripts

Участник
Автор темы
83
6
По хорошему боковые кнопки обвернуть в группу или чилд

Lua:
imgui.BeginGroup()
    ... кнопки
imgui.EndGroup()

imgui.SameLine() -- для корректировки отступа в параметры функции можно указать отступ, но он будет расчитываться от края окна
-- Здесь либо чилд на всё оставшееся окно используй, либо также группу, в которую будешь заключать элементы
-- Для центровки текста можно использовать imgui.CalcTextSize("текст").x
imgui.BeginChild("Child name", imgui.ImVec2(sizeX, sizeY))
    imgui.SameLine(sizeX/2-imgui.CalcTextSize("текст").x/2) -- Половина размера чилда минус половина размера текста - аля центровка
    imgui.Text("Text")
imgui.EndChild()
Здесь чисто математика, включай головёнку.


Ты задаёшь вопрос, на который ты уже написал ответ в коде
Спасибо попробую так.
А
По хорошему боковые кнопки обвернуть в группу или чилд

Lua:
imgui.BeginGroup()
    ... кнопки
imgui.EndGroup()

imgui.SameLine() -- для корректировки отступа в параметры функции можно указать отступ, но он будет расчитываться от края окна
-- Здесь либо чилд на всё оставшееся окно используй, либо также группу, в которую будешь заключать элементы
-- Для центровки текста можно использовать imgui.CalcTextSize("текст").x
imgui.BeginChild("Child name", imgui.ImVec2(sizeX, sizeY))
    imgui.SameLine(sizeX/2-imgui.CalcTextSize("текст").x/2) -- Половина размера чилда минус половина размера текста - аля центровка
    imgui.Text("Text")
imgui.EndChild()
Здесь чисто математика, включай головёнку.


Ты задаёшь вопрос, на который ты уже написал ответ в коде
А кнопки вводить вот так?

imgui.Button(fa.ICON_FA_BOOK_MEDICAL .. u8' Описание', imgui.ImVec2(162, 100))
 
Последнее редактирование:

Hatiko

Известный
Проверенный
1,512
628
А кнопки вводить вот так?

imgui.Button(fa.ICON_FA_BOOK_MEDICAL .. u8' Описание', imgui.ImVec2(162, 100))
Да, также как и ранее делал, просто ты их оборачиваешь в группу, чтобы при создании бокового элемента/группы эта группа создавалась сверху, а не снизу, относительно последнего элемента.
 

MixailScripts

Участник
Автор темы
83
6
Да, также как и ранее делал, просто ты их оборачиваешь в группу, чтобы при создании бокового элемента/группы эта группа создавалась сверху, а не снизу, относительно последнего элемента.
Тогда спасибо тему закрываю.