for文で作成したものは基本縦一列に並ぶ、それを列にして並べる簡単な方法が無い。
色々やった方法は、まず10行目の「imgui.SameLine()」で横一列に並べる。それをifで希望の「i」の数値で改行することにより2段目が出来る。それを繰り返して改行していく。
この方法以外にやり方がネットを探しても見つからなかったので、これが自分が考えた最良の方法になる。
------------------------------------------------------------------------ -- ウインドウの作成 wnd = float_wnd_create(600, 300, 1, true) float_wnd_set_title(wnd, "Buttons2") --wnd変数をセット float_wnd_set_imgui_builder(wnd, "im_on_build") --関数を読み込みセットする ----------------------------------------------------------------------- function im_on_build(wnd, x, y) for i = 1, 25 do imgui.Button("Button", 60, 30) imgui.SameLine() -- 改行専用 if i == 7 then imgui.TextUnformatted("\n") --本来テキストが入るところに改行を入れるとボタンを改行できるようになる。 imgui.SetCursorPosY(48) --2段目のボタン位置 elseif i == 14 then imgui.TextUnformatted("\n") imgui.SetCursorPosY(88) -- 3段目のボタン位置 elseif i == 21 then imgui.TextUnformatted("\n") imgui.SetCursorPosY(128) -- 3段目のボタン位置 end end end -- window close function polo_onclose(polo_wnd) float_wnd_destroy(polo_wnd) --消し去る end