Difference between revisions of "love-imgui (日本語)"
(Created page with " == LOVE-IMGUI == Binary IMGUI module for LÖVE 用の IMGUI バイナリモジュールです。 IMGUI 1.50 WIP を使用しており 258 本の関数に対応していま...") |
m (→リンク) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
== LOVE-IMGUI == | == LOVE-IMGUI == | ||
− | + | LÖVE 用の IMGUI バイナリモジュールです。 IMGUI 1.50 WIP を使用しており 258 本の関数に対応しています (40 本は非対応)。 | |
− | |||
− | |||
− | |||
== 用例 == | == 用例 == | ||
Line 141: | Line 137: | ||
* [https://github.com/ocornut/imgui IMGUI GitHub ページ] | * [https://github.com/ocornut/imgui IMGUI GitHub ページ] | ||
− | |||
− | |||
{{#set:Description=LOVE 用の IMGUI モジュール}} | {{#set:Description=LOVE 用の IMGUI モジュール}} | ||
{{#set:Keyword=GUI}} | {{#set:Keyword=GUI}} | ||
+ | {{#set:LOVE Min Version=0.10.x}} | ||
+ | {{#set:LOVE Version=0.10.x}} | ||
+ | {{#set:Standalone_Lua_Module=いいえ (IMGUI への C ラッパー)}} | ||
[[Category:Libraries (日本語)]] | [[Category:Libraries (日本語)]] | ||
+ | |||
+ | == そのほかの言語 == | ||
+ | {{i18n (日本語)|love-imgui}} |
Latest revision as of 01:24, 16 December 2019
Contents
LOVE-IMGUI
LÖVE 用の IMGUI バイナリモジュールです。 IMGUI 1.50 WIP を使用しており 258 本の関数に対応しています (40 本は非対応)。
用例
簡単な統合方法
require "imgui"
local showTestWindow = false
local showAnotherWindow = false
local floatValue = 0;
local sliderFloat = { 0.1, 0.5 }
local clearColor = { 0.2, 0.2, 0.2 }
local comboSelection = 1
local textValue = "text"
--
-- LOVE コールバック
--
function love.load(arg)
end
function love.update(dt)
imgui.NewFrame()
end
function love.draw()
local status
-- メニュー
if imgui.BeginMainMenuBar() then
if imgui.BeginMenu("File") then
imgui.MenuItem("Test")
imgui.EndMenu()
end
imgui.EndMainMenuBar()
end
-- デバッグウインドウ
imgui.Text("Hello, world!");
status, clearColor[1], clearColor[2], clearColor[3] = imgui.ColorEdit3("Clear color", clearColor[1], clearColor[2], clearColor[3]);
-- スライダー
status, floatValue = imgui.SliderFloat("SliderFloat", floatValue, 0.0, 1.0);
status, sliderFloat[1], sliderFloat[2] = imgui.SliderFloat2("SliderFloat2", sliderFloat[1], sliderFloat[2], 0.0, 1.0);
-- コンボ
status, comboSelection = imgui.Combo("Combo", comboSelection, { "combo1", "combo2", "combo3", "combo4" }, 4);
-- ウィンドウ
if imgui.Button("Test Window") then
showTestWindow = not showTestWindow;
end
if imgui.Button("Another Window") then
showAnotherWindow = not showAnotherWindow;
end
if showAnotherWindow then
imgui.SetNextWindowPos(50, 50, "FirstUseEver")
status, showAnotherWindow = imgui.Begin("Another Window", true, { "AlwaysAutoResize", "NoTitleBar" });
imgui.Text("Hello");
-- テキストの入力
status, textValue = imgui.InputTextMultiline("InputText", textValue, 200, 300, 200);
imgui.End();
end
if showTestWindow then
showTestWindow = imgui.ShowTestWindow(true)
end
love.graphics.clear(clearColor[1] * 255, clearColor[2] * 255, clearColor[3] * 255, 255)
imgui.Render();
end
function love.quit()
imgui.ShutDown();
end
--
-- ユーザの入力
--
function love.textinput(t)
imgui.TextInput(t)
if not imgui.GetWantCaptureKeyboard() then
-- ゲームへイベントを渡します
end
end
function love.keypressed(key)
imgui.KeyPressed(key)
if not imgui.GetWantCaptureKeyboard() then
-- ゲームへイベントを渡します
end
end
function love.keyreleased(key)
imgui.KeyReleased(key)
if not imgui.GetWantCaptureKeyboard() then
-- ゲームへイベントを渡します
end
end
function love.mousemoved(x, y)
imgui.MouseMoved(x, y)
if not imgui.GetWantCaptureMouse() then
-- ゲームへイベントを渡します
end
end
function love.mousepressed(x, y, button)
imgui.MousePressed(button)
if not imgui.GetWantCaptureMouse() then
-- ゲームへイベントを渡します
end
end
function love.mousereleased(x, y, button)
imgui.MouseReleased(button)
if not imgui.GetWantCaptureMouse() then
-- ゲームへイベントを渡します
end
end
function love.wheelmoved(x, y)
imgui.WheelMoved(y)
if not imgui.GetWantCaptureMouse() then
-- ゲームへイベントを渡します
end
end