تحمل حاوية ScreenGui كائنات GuiObjects للعرض على شاشة اللاعب، بما في ذلك الإطارات، والتسميات، والأزرار، والمزيد. يتم تخزين جميع كائنات واجهة المستخدم على الشاشة وتغييرها على العميل.

لعرض ScreenGui وكائناته الفرعية GuiObjects لكل لاعب ينضم إلى التجربة، ضعها داخل حاوية StarterGui. عندما ينضم لاعب إلى تجربة وتظهر شخصيته لأول مرة، يتم نسخ ScreenGui ومحتوياته إلى حاوية PlayerGui لذلك اللاعب، والتي تقع داخل حاوية Players.

مع توسع التجربة، قد تحتاج إلى واجهات شاشة متعددة مثل شاشة العنوان، قائمة الإعدادات، واجهة المتجر، والمزيد. في مثل هذه الحالات، يمكنك وضع حاويات ScreenGui فريدة متعددة داخل StarterGui وتبديل خاصية Enabled لكل حاوية بناءً على ما إذا كانت يجب أن تكون مرئية وفعالة (عندما تكون false، لن يتم عرض المحتويات، معالجة إدخال المستخدم، أو التحديث استجابةً للتغييرات).

يمكن تبديل خاصية Enabled في البداية من خلال نافذة الخصائص و/أو يمكنك تعيينها أثناء وقت التشغيل من خلال سكربت عميل من خلال الوصول إلى PlayerGui الخاص باللاعب وتعيينها إلى true أو false للحاوية (الحاويات) المطلوبة.
خصائص الحاوية
تسمح لك الخصائص التالية بتخصيص المُدخلات على الشاشة عبر أجهزة متعددة، وترتيب العرض عند استخدام حاويات شاشة متعددة، والمزيد.
مُدخلات الشاشة
تستفيد الهواتف الحديثة من الشاشة بأكملها، لكنها غالبًا ما تتضمن نتوءات وفتحات وعناصر أخرى تشغل مساحة الشاشة. تتضمن كل لعبة Roblox أيضًا عناصر تحكم شريط الأعلى للوصول السريع إلى القائمة الرئيسية، الدردشة، لوحة الصدارة، والمزيد.

لضمان قدرة اللاعبين على رؤية والوصول إلى جميع واجهات المستخدم بسهولة ودون عوائق، توفر Roblox خاصية ScreenInsets التي تتحكم في مساحات منطقة الأمان لمحتويات ScreenGui.
تضمن القيمة الافتراضية لـ CoreUISafeInsets أن تبقى جميع عناصر GuiObjects الفرعية داخل منطقة الأمان للواجهة الأساسية، بعيدًا عن أزرار شريط الأعلى وغيرها من فتحات الشاشة. يُوصى بهذا الإعداد إذا كانت ScreenGui تحتوي على عناصر واجهة مستخدم تفاعلية.

ترتيب العرض
عند استخدام واجهات ScreenGui متعددة، يمكنك تراكبها بواسطة Z‑index من خلال خاصية DisplayOrder. على سبيل المثال، لعرض قائمة إعدادات نموذجية على واحدة من ScreenGui أمام واجهة المستخدم الرئيسية للتجربة على ScreenGui أخرى، قم بتعيين قيمة DisplayOrder أعلى للنموذج منها على واجهة المستخدم الأساسية.
إعادة الضبط عند الظهور
تحدد خاصية ResetOnSpawn المنطقية ما إذا كانت ScreenGui ستُعاد ضبط (تحذف نفسها وتُعيد نسخها إلى PlayerGui الخاص باللاعب) في كل مرة تتجدد فيها شخصية اللاعب.
| الحالة | يُعاد الضبط |
|---|---|
| ResetOnSpawn هو true (افتراضي). | نعم |
| تكون ScreenGui فرعًا غير مباشر لـ StarterGui؛ على سبيل المثال، يتم وضعها داخل Folder الموجود داخل StarterGui. | نعم |
| ResetOnSpawn هو false و ScreenGui هي فرع مباشر لـ StarterGui. | لا |
الوصول إلى واجهة المستخدم الخاصة باللاعب
كما تم الإشارة، فإن وضع ScreenGui في StarterGui ينساخها وكائناتها الفرعية GuiObjects إلى حاوية PlayerGui الخاصة باللاعب عندما ينضم إلى التجربة وتظهر شخصيته لأول مرة.
إذا كنت بحاجة للتحكم في حاوية واجهة المستخدم الخاصة باللاعب خلال وقت التشغيل، على سبيل المثال لإظهار/إخفاء ScreenGui معينة أو أي من أطفالها، يمكنك الوصول إليها كما يلي من خلال LocalScript:
LocalScript - الوصول إلى واجهة المستخدم الخاصة باللاعبlocal Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- إخفاء شاشة العنوانsettingsMenu.Enabled = true -- عرض قائمة الإعدادات
تعطيل واجهة المستخدم الافتراضية
تتضمن جميع ألعاب Roblox عدة عناصر واجهة مستخدم مفعلة بشكل افتراضي. إذا كنت لا تحتاج إلى أي من هذه العناصر أو إذا كنت ترغب في استبدالها بإبداعاتك الخاصة، يمكنك استخدام الطريقة SetCoreGuiEnabled() في نص برمجي على جانب العميل مع الخيار المرتبط Enum.CoreGuiType.
| واجهة المستخدم الافتراضية | التعداد المرتبط |
|---|---|
| قائمة Players التي يتم تحديثها ديناميكيًا، تُستخدم عادةً كـ لوحة زعماء. | Enum.CoreGuiType.PlayerList |
| شريط Health الخاص بالشخصية. لا يظهر إذا كانت Humanoid الخاصة بالشخصية بصحة كاملة. | Enum.CoreGuiType.Health |
| حقيبة Backpack الخاصة بالشخصية والتي تحتوي على أدوات داخل اللعبة. لا يظهر إذا لم يكن هناك أي Tools في الحقيبة. | Enum.CoreGuiType.Backpack |
| نافذة الدردشة النصية. | Enum.CoreGuiType.Chat |
| قائمة منبثقة للشخصية المؤثرات الصوتية. | Enum.CoreGuiType.EmotesMenu |
| نافذة تعرض منظور اللاعب أو رؤية شخصيته الخاصة. لا تظهر إلا إذا كان اللاعب قد قام بتمكين الرؤية الذاتية من قائمة Roblox. | Enum.CoreGuiType.SelfView |
| زر التقاط لقطة شاشة على الجانب الأيمن من الشاشة. لا يظهر إلا إذا كان اللاعب قد قام بتمكين التقاطات من قائمة Roblox. | Enum.CoreGuiType.Captures |
| يمكن لمبدل الصورة الرمزية أن يسمح للمستخدمين بتغيير صورة شخصيتهم على المنصة. | Enum.CoreGuiType.AvatarSwitcher |

نص برمجي عميل - تعطيل عناصر واجهة المستخدم الافتراضيةlocal StarterGui = game:GetService("StarterGui")-- تعطيل شريط الصحة الافتراضي والحقيبةStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
بالإضافة إلى ذلك، تتضمن الأجهزة التي تحتوي على قدرات لمسية مفتاح تحكم افتراضي وزر قفز بشكل افتراضي. إذا رغبت في ذلك، يمكنك إخفاء هذه العناصر من خلال تعيين GuiService.TouchControlsEnabled إلى false في نص برمجي على جانب العميل.

نص برمجي عميل - تعطيل عناصر التحكم باللمسlocal GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false