语法
imgui.create(title?: string): ImGuiWindow参数
| 名称 | 类型 | 描述 |
|---|---|---|
title? | string | 窗口标题。省略时,将使用内置的默认标题。创建具有相同标题的第二个活动窗口会引发错误。 |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
window | ImGuiWindow | 用于追加控件和销毁窗口的窗口句柄。 |
说明
创建一个 ImGui 窗口并返回其窗口句柄。活动窗口标题必须是唯一的。
使用 1 个参数调用: title。参数表会说明哪些值必填,哪些值只用于细化行为。
返回 window (ImGuiWindow)。使用返回表区分成功值、nil 结果和可恢复错误。
示例
使用文本、交互式控件和更改回调构建 ImGui 窗口。
local window = imgui.create("Runtime settings")
window:Text("Controls")
window:Separator()
window:Checkbox("Enabled", true, function(enabled)
print("Enabled:", enabled)
end)
window:SliderFloat("Opacity", 0.8, 0, 1, function(value)
print("Opacity:", value)
end)
window:InputText("Label", "Real", function(text)
print("Label:", text)
end)
window:ColorPicker("Accent", 0.3, 0.6, 1, 1, function(red, green, blue, alpha)
print(red, green, blue, alpha)
end)
window:CollapsingHeader("Advanced", function(section)
section:Text("Advanced controls go here")
end)类型
ImGuiWindow
imgui.create 返回的句柄。控制构建方法返回相同的句柄,因此可以链接调用。
Button (label: string, onClick: () -> ()) -> ImGuiWindow 添加一个按钮并在单击后调用回调。Checkbox (label: string, checked: boolean, onChange: (boolean) -> ()) -> ImGuiWindow 附加一个初始化为提供状态的复选框。CollapsingHeader (label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow 对折叠标题下方的内容回调附加的控件进行分组。ColorPicker (label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow 追加RGBA编辑器;省略的颜色分量默认为 1.0。InputText (label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow 追加单行文本输入;省略的初始文本默认为空字符串。SameLine () -> ImGuiWindow 将下一个控件放置在同一行上。Separator () -> ImGuiWindow 添加水平分隔符。SliderFloat (label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow 添加浮点滑块。SliderInt (label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow 附加一个整数滑块。Text (text: string) -> ImGuiWindow 附加非交互式文本。destroy () -> () 删除窗口并释放其注册的回调。