В твоем примере это не картинка, это библиотека FontAwesome5 ищи ее в теме по имгуи или забей по поиску на бх. А в твоем коде ты рендеришь стандартными методами мунлоудераНо как картинку расположить на кнопку вместе с текстом? Так-же картинка растягивается на всю кнопку.
Пример:
Сделал вот так:
Но картинка находится под окном imgui и она статичнаLua:local image = renderLoadTextureFromFile("moonloader\\config\\1.png") renderDrawTexture(image, 200, 200, 18, 18, 0.0, 0xFFFFFFFF)
local ImGui = require("imgui")
ImGui.ImageButton(tImage, ImGui.ImVec2(100, 150)) -- с картинкой
ImGui.CustomButton('TestButton', mainColor, colorHovered, colorActive, size) -- цветная
-- Многое другое есть тут: https://blast.hk/threads/27544/
function ImGui.CustomButton(name, color, colorHovered, colorActive, size)
local clr = ImGui.Col
ImGui.PushStyleColor(clr.Button, color)
ImGui.PushStyleColor(clr.ButtonHovered, colorHovered)
ImGui.PushStyleColor(clr.ButtonActive, colorActive)
if not size then size = ImGui.ImVec2(0, 0) end
local result = ImGui.Button(name, size)
imgui.PopStyleColor(3)
return result
end
if imgui.ImageButton("moonloader\\config\\1.png", imgui.ImVec2(250, 25)) then
--код
end
потому что это так не работает, нужно сначала загрузить картинку(где то в начале скрипта)Чёт не работает
Lua:if imgui.ImageButton("moonloader\\config\\1.png", imgui.ImVec2(250, 25)) then --код end
И можно как-то совместить картинку и текст?[ML] (error) SMIHelper.lua: C:\Games\GTA San Andreas\moonloader\SMIHelper.lua:931: stack index 1, expected userdata, received string: (bad argument into 'bool(void*, const structImVec2&, sol::optional<ImVec2 const *>, sol::optional<ImVec2 const *>, sol::optional<int>, sol::optional<ImVec4 const *>, sol::optional<ImVec4 const *>)')
stack traceback:
[C]: in function 'ImageButton'
C:\Games\GTA San Andreas\moonloader\SMIHelper.lua:931: in function 'OnDrawFrame'
C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1378: in function <C:\Games\GTA San Andreas\moonloader\lib\imgui.lua:1367>
[ML] (error) SMIHelper.lua: Script died due to an error. (15DBAD54)
Пример:
local imgui = require'imgui'
local image = imgui.CreateTextureFromFile("тут путь к твоей картинке")
--OnDrawFrame()
imgui.ImageButton(image, imgui.ImVec2(250, 25))
а вот для обычного рендера картинка загружается по другомуКрашит
Lua:local image = imgui.CreateTextureFromFile("moonloader\\config\\1.png") renderDrawTexture(image, sw / 2, sh / 2, 150, 150, 0.0, 0xFF1166AA)
image = renderLoadTextureFromFile("путь к файлу")
Но как картинку расположить на кнопку вместе с текстом? Так-же картинка растягивается на всю кнопку.потому что это так не работает, нужно сначала загрузить картинку(где то в начале скрипта)
Lua:local imgui = require'imgui' local image = imgui.CreateTextureFromFile("тут путь к твоей картинке") --OnDrawFrame() imgui.ImageButton(image, imgui.ImVec2(250, 25))
а вот для обычного рендера картинка загружается по другому
Lua:image = renderLoadTextureFromFile("путь к файлу")
local image = renderLoadTextureFromFile("moonloader\\config\\1.png")
renderDrawTexture(image, 200, 200, 18, 18, 0.0, 0xFFFFFFFF)
В твоем примере это не картинка, это библиотека FontAwesome5 ищи ее в теме по имгуи или забей по поиску на бх. А в твоем коде ты рендеришь стандартными методами мунлоудераНо как картинку расположить на кнопку вместе с текстом? Так-же картинка растягивается на всю кнопку.
Пример:
Сделал вот так:
Но картинка находится под окном imgui и она статичнаLua:local image = renderLoadTextureFromFile("moonloader\\config\\1.png") renderDrawTexture(image, 200, 200, 18, 18, 0.0, 0xFFFFFFFF)
Спасибо ещё б круглые кнопки узнать как делать вообще идеально будет.В твоем примере это не картинка, это библиотека FontAwesome5 ищи ее в теме по имгуи или забей по поиску на бх. А в твоем коде ты рендеришь стандартными методами мунлоудера
Для каждой кнопки применять стильСпасибо ещё б круглые кнопки узнать как делать вообще идеально будет.
Обьясни подробнееДля каждой кнопки применять стиль
Чтобы сделать круглую кнопку нужно создать квадратную и потом закруглить краяОбьясни подробнее
imgui.PushStyleVar(imgui.StyleVar.FrameRounding, 8)
--кнопка
imgui.PopStyleVar()
крашит, помоги пжЧтобы сделать круглую кнопку нужно создать квадратную и потом закруглить края
Для кнопки 20 на 20 закругление 8 думаю сделает её круглой, можешь поэкспериментировать.Lua:imgui.PushStyleVar(imgui.StyleVar.FrameRounding, 8) --кнопка imgui.PopStyleVar()
Таким образом можно закруглить почти все элементы imgui.