Sintaks
imgui.create(title?: string): ImGuiWindowArgumen
| Nama | Tipe | Deskripsi |
|---|---|---|
title? | string | Judul jendela. Jika dihilangkan, judul default bawaan akan digunakan. Membuat jendela aktif kedua dengan judul yang sama menimbulkan kesalahan. |
Return
| Nama | Tipe | Deskripsi |
|---|---|---|
window | ImGuiWindow | Pegangan jendela digunakan untuk menambahkan kontrol dan menghancurkan jendela. |
Deskripsi
Membuat jendela ImGui dan mengembalikan pegangan jendelanya. Judul jendela aktif harus unik.
Panggil dengan 1 parameter: title. Tabel argumen menjelaskan nilai wajib dan nilai yang hanya menyempurnakan perilaku.
Mengembalikan window (ImGuiWindow). Gunakan tabel returns untuk memisahkan nilai sukses, hasil nil, dan error yang bisa dipulihkan.
Contoh
Bangun jendela ImGui dengan teks, kontrol interaktif, dan ubah panggilan balik.
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)Tipe
ImGuiWindow
Pegangan dikembalikan oleh imgui.create. Metode pembuatan kontrol mengembalikan pegangan yang sama sehingga panggilan dapat dirangkai.
Button (label: string, onClick: () -> ()) -> ImGuiWindow Menambahkan tombol dan memanggil panggilan balik setelah klik.Checkbox (label: string, checked: boolean, onChange: (boolean) -> ()) -> ImGuiWindow Menambahkan kotak centang yang diinisialisasi ke status yang disediakan.CollapsingHeader (label: string, content: (ImGuiWindow) -> ()) -> ImGuiWindow Kontrol grup ditambahkan oleh callback konten di bawah header yang diciutkan.ColorPicker (label: string, red: number?, green: number?, blue: number?, alpha: number?, onChange: (number, number, number, number) -> ()) -> ImGuiWindow Menambahkan editor RGBA; menghilangkan komponen warna default ke 1.0.InputText (label: string, text: string?, onChange: (string) -> ()) -> ImGuiWindow Menambahkan input teks satu baris; menghilangkan default teks awal ke string kosong.SameLine () -> ImGuiWindow Tempatkan kontrol berikutnya pada baris yang sama.Separator () -> ImGuiWindow Menambahkan pemisah horizontal.SliderFloat (label: string, value: number, minimum: number, maximum: number, onChange: (number) -> ()) -> ImGuiWindow Menambahkan penggeser titik mengambang.SliderInt (label: string, value: integer, minimum: integer, maximum: integer, onChange: (number) -> ()) -> ImGuiWindow Menambahkan penggeser bilangan bulat.Text (text: string) -> ImGuiWindow Menambahkan teks non-interaktif.destroy () -> () Menghapus jendela dan melepaskan panggilan balik terdaftarnya.