imgui ドラッグコントロールの作成 – FlyWithLua

2023年2月17日

スライダーをドラッグするだけで数値を変更できる。

-- imgui はフローティング ウィンドウ内でのみ機能するため、最初に作成する必要があります。
Drag_Controls_wnd = float_wnd_create(350, 100, 1, true)
float_wnd_set_title(Drag_Controls_wnd, "imgui Demo")
float_wnd_set_imgui_builder(Drag_Controls_wnd, "Drag_Controls_demo")
float_wnd_set_onclose(Drag_Controls_wnd, "closed_demo")

sliderVal = 50  --これ機能していない。

function Drag_Controls_demo(wnd, x, y)

        -- これらはスライダーに多少似ていますが、同じ位置で複数回ドラッグして、値を連続的に増減できます。
        local changed, newVal = imgui.DragFloat("Drag Float", sliderVal, 1.0, 0, 1000, "%.2f", 1.0)
        -- Parameters: ラベル、値、速度、最小、最大、キャプション、パワー
        
        if changed then
            sliderVal = newVal
        end

        local changed, newVal = imgui.DragInt("Drag Int", sliderVal, 1.0, 0, 1000, "%.2f", 1.0)
        if changed then
            sliderVal = newVal
        end

end

function closed_demo(wnd)
    -- Tこの関数は、ユーザーがウィンドウを閉じるときに呼び出されます。 
    -- ウィンドウが既に破棄されているため、この関数では imgui 関数の描画または呼び出しは許可されない。
end