ImGui

imgui.create

إنشاء نافذة ImGui وإرجاع مقبض النافذة الخاص بها. يجب أن تكون عناوين النوافذ النشطة فريدة.

الصيغة

imgui.create(title?: string): ImGuiWindow

الوسائط

الاسمالنوعالوصف
title?stringعنوان النافذة. عند حذفه، يتم استخدام العنوان الافتراضي المضمن. يؤدي إنشاء نافذة نشطة ثانية بنفس العنوان إلى حدوث خطأ.

القيم الراجعة

الاسمالنوعالوصف
windowImGuiWindowمقبض النافذة يستخدم لإلحاق عناصر التحكم وتدمير النافذة.

الوصف

إنشاء نافذة ImGui وإرجاع مقبض النافذة الخاص بها. يجب أن تكون عناوين النوافذ النشطة فريدة.

استدعه مع 1 parameter: title. يوضح جدول arguments القيم المطلوبة والقيم التي تضبط السلوك.

يعيد window (ImGuiWindow). استخدم جدول returns للفصل بين قيم النجاح ونتائج 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 () -> () إزالة النافذة وتحرير عمليات الاسترجاعات المسجلة الخاصة بها.