Неактивная кнопка | IMGUI

CHAPPLE

Участник
Автор темы
97
15
Версия MoonLoader
.026-beta
Как сделать кнопку серой и неактивной после нажатия?
 
Решение
Как сделать кнопку серой и неактивной после нажатия?

Отвечаю на конкретный вопрос конкретным примером.

Lua:
-- Где то в глобальном пространстве
klikabelna = true

-- Где то в OnDrawFrame....
if imgui.ButtonClickable(klikabelna, "Knopka") then
    klikabelna = false
end

Snoopcheg

Известный
151
82
Убрал полностью imgui addons
Вот логи:

Могу скинуть полный код....
Это в глобальную область скопировал?
Lua:
function imgui.ButtonClickable(clickable, ...)
    if clickable then
        return imgui.Button(...)

    else
        local r, g, b, a = imgui.ImColor(imgui.GetStyle().Colors[imgui.Col.Button]):GetFloat4()
        imgui.PushStyleColor(imgui.Col.Button, imgui.ImVec4(r, g, b, a/2) )
        imgui.PushStyleColor(imgui.Col.ButtonHovered, imgui.ImVec4(r, g, b, a/2))
        imgui.PushStyleColor(imgui.Col.ButtonActive, imgui.ImVec4(r, g, b, a/2))
        imgui.PushStyleColor(imgui.Col.Text, imgui.GetStyle().Colors[imgui.Col.TextDisabled])
            imgui.Button(...)
        imgui.PopStyleColor()
        imgui.PopStyleColor()
        imgui.PopStyleColor()
        imgui.PopStyleColor()
    end
end
 
  • Нравится
Реакции: CHAPPLE

Double Tap Inside

Известный
Проверенный
1,916
1,255
Убрал полностью imgui addons
Вот логи:
Ты далеко взял. Тебе бы почитать какие типы данных есть. Как вызывать функции, как передавать им аргументы. Как обращаться к методам и свойствам таблиц и разных объектов. Как делать адекватную табуляцию. Как использовать ветки условий if elseif else. Как использовать циклы for while repeat. Как перебирать таблици, как их создавать, какими данными они могут быть наполнены, как доставать оттуда нужное значение. Разные операторы сравнения типо ==, !=, <, > итд. Понять понятия "Возвращает значение"
Ты решил сыграть третью чать лунной сонаты Бетховена. Хотя ты только-только разобрался сколько цветов у клавиш.
 
  • Нравится
Реакции: tyukapa