Гайд Mimgui для чайников. Описание, пояснения, шаблоны

percheklii

Известный
718
263
[imgui.ProgressBar] Прогресс бар
Посмотреть вложение 222494

Благодаря этой функции, вы можете рендерить прогресс бар в вашем окне мимгуи. Примеры использования
Lua:
-- Отражаем скорость нашего персонажа в прогресс баре
local speed = math.floor(getCharSpeed(1))
imgui.ProgressBar(speed/100,imgui.ImVec2(100,24),'Speed: '..speed)

-- Отражаем полоску ХП нашего персонажа в прогресс баре
local myHP = getCharHealth(1)
imgui.ProgressBar(myHP/100,imgui.ImVec2(100,24),'HP: '..myHP)
1-ый аргумент - текущее значение чего либо/максимальное
2-ой аргумент - размеры прогресс бара. Можно указать nil и тогда он растянется до конца окна
3-ий аргумент - надпись внутри прогресс бара
Изменить цвет фона прогресс бара можно с помощью параметра
imgui.Col.FrameBg
Изменить цвет самой полоски прогресс бара можно с помощью параметра
imgui.Col.PlotHistogram
Удобная функция как по мне, чтобы легче работать

Lua:
function imgui.CustomProgressBar(value, size, text, bgColor, barColor)
    imgui.PushStyleColor(imgui.Col.FrameBg, imgui.ImVec4(bgColor[1], bgColor[2], bgColor[3], bgColor[4]))
    imgui.PushStyleColor(imgui.Col.PlotHistogram, imgui.ImVec4(barColor[1], barColor[2], barColor[3], barColor[4]))
    imgui.ProgressBar(value, size, text)
    imgui.PopStyleColor(2)
end

--пример в imgui.OnFrame
local healthValue = tonumber(getCharHealth(PLAYER_PED)) / 100
local bgColor = {0.2, 0.2, 0.2, 1.0}
local barColor = {0.0, 1.0, 0.0, 1.0}
imgui.CustomProgressBar(healthValue, imgui.ImVec2(100, 24), tostring(getCharHealth(PLAYER_PED)), bgColor, barColor)

Только вот пытался сделать текст по центру, через imgui.SetCursorPos но чёт не получилось...
Значит где-то накосячил
 
Последнее редактирование:

Require

Участник
49
1
а можно использовать дополнительные возможности других библиотек по типу spinner, togglebutton?
 

MLycoris

Режим чтения
Автор темы
Проверенный
1,805
1,853
и как сохранять все действия в имгуай меню пользователя?
 

Require

Участник
49
1
так можно использовать togglebutton и spinner?:)