محرر الأنماط المدمج هو أداة شاملة تتيح لك إنشاء وإدارة وتطبيق أنماط واجهة المستخدم لألعاب Roblox من خلال مجموعة من التوكنات، وأوراق التصميم، وقواعد الأنماط، والموضوعات.
يمكنك الوصول إلى محرر الأنماط عبر علامة واجهة المستخدم.

بمجرد فتحه، انقر على زر إنشاء تصميم لإنشاء مجموعة أنماط أساسية.

توكنات الأنماط
تمثل التوكنات، المعرفة من خلال السمات لورقة توكن StyleSheet، متغيرات خصائص واجهة المستخدم التي يمكن استخدامها عبر الأنماط والمكونات؛ على سبيل المثال، قد يكون هناك لون شائع لـ Frame.BackgroundColor3، وTextLabel.TextColor3، وUIStroke.Color. التوكنات قابلة للمقارنة مع متغيرات CSS.
إنشاء ورقة توكن جديدة:
- في العمود الأيسر من محرر الأنماط، مرر فوق Tokens، انقر على ⊕، واختر New Token StyleSheet.
- أعد تسمية الورقة الجديدة إلى TokenSheet.

مع تحديد ورقة التوكن الجديدة، قم بإنشاء عدة توكنات من خلال النقر على Add a Token… في اللوحة الرئيسية. سيتم استخدام هذه التوكنات في جميع أنحاء هذا الدليل لكل من القواعد والموضوعات.

اسم التوكن النوع القيمة Gold Color3 #ffcc00 Magenta Color3 #ff0099 Orange Color3 #dd6030 Oswald Font Oswald Rad20 UDim 0, 20 RectL UDim2 0, 300, 0, 160 SquareL UDim2 0, 200, 0, 200 Text24 number 24 Text32 number 32 
أوراق التصميم
تجمع ورقة تصميم الأنماط قواعد الأنماط ويمكن ربطها بأشجار DataModel لتطبيق خصائص الأنماط على مثيلات واجهة المستخدم. يمكن أن تنطبق ورقة StyleSheet واحدة فقط على شجرة معينة، على الرغم من أنه يمكنك استخدام الموضوعات لتبديل الأنماط ذات الصلة عبر واجهة المستخدم الخاصة بك، وهو مفهوم سيتم تغطيته لاحقًا في هذا الدليل.
يتم إنشاء ورقة تصميم مسبقة التهيئة تُسمى StyleSheet عبر زر إنشاء تصميم. تحتوي على قواعد الفئة للأشياء الشائعة في واجهة المستخدم مثل Frame وTextLabel. كما تحتوي على حالتين من StyleDerive التي تشتق (ترث) التوكنات والأنماط من ورقة الأنماط الأساسية لاستخدامها في تكوينات التنسيق المخصصة الخاصة بك.

بمجرد أن يكون لديك ورقة تصميم، يمكنك إعداد حاوية على الشاشة لاستخدامها مع محرر الأنماط، أو حاوية داخل اللعبة إذا رغبت في ذلك.
مرر فوق StarterGui في مستكشف وأدخل ScreenGui.
تأكد من ظهور مثيل جديد من StyleLink تحت ScreenGui مع خاصية StyleSheet الخاصة بها مضبوطة على ورقة التصميم StyleSheet.


قواعد الأنماط
تطبق قواعد الأنماط على كل مثيل يتطابق مع تعريف Selector للقواعد لمطابقة الخصائص مثل اسم الفئة، ووسم المثيل، وعلاقات التسلسل الهرمي. على مستوى عالٍ، تعمل مطابقة المثيل والتعديل عبر تعريف Selector للقواعد من خلال:
- محددات فئة Roblox التي تستهدف جميع مثيلات فئة واجهة المستخدم المعطاة، على سبيل المثال Frame، وImageLabel، وTextButton، إلخ.
- اختيار اسم المثيل وفقًا لقيمة Instance.Name لكائن واجهة المستخدم.
قاعدة الفئة
تستهدف محددات الفئة جميع مثيلات فئة واجهة المستخدم المعطاة. يقوم إعداد القاعدة التالية بتنسيق جميع Frames بلون خلفية وحجم موحد.
في العمود الأيسر من محرر الأنماط، حدد Frame في فرع عناصر واجهة المستخدم.

اربط توكنين تم إنشاؤهما مسبقًا بقواعد الأنماط إلى خاصيتين من Frame:
الخاصية توكن النمط BackgroundColor3 $Magenta Size $SquareL - انقر على إضافة خاصية… في اللوحة الرئيسية واختر الخاصية اللازمة. لاحظ أنه يمكنك كتابة كلمات رئيسية للعثور على الخصائص بشكل أسرع في قائمة السحب.
- بدلاً من إدخال قيمة ثابتة، انقر على زر ⋮ واختر ربط التوكن.
- انقر على $ الذي يظهر في حقل القيمة واختر التوكن المرتبط المناسب.


أدخل Frame جديدة في ScreenGui التي قمت بإنشائها وربطها سابقًا. يجب أن تنطبق الأنماط التي قمت بتعريفها تلقائيًا عليها.

قاعدة الوسم
تستهدف محددات الوسم المثيل كائنات واجهة المستخدم المحددة الموسومة من خلال CollectionService. يقوم إعداد القاعدة التالية بتنسيق TextButton الموسوم كـ ButtonPrimary بلون خلفية مخصص، وخط، وحجم نص.
في العمود الأيسر من محرر الأنماط، مرر فوق ورقة StyleSheet، انقر على زر ⋮ وانتقل إلى جديد ⟩ وسم.

أعد تسمية قاعدة الوسم الجديدة إلى .ButtonPrimary (لاحظ النقطة السابقة).

اربط ثلاثة توكنات تم إنشاؤها مسبقًا بقواعد الأنماط إلى ثلاث خصائص من TextButton:
الخاصية توكن النمط BackgroundColor3 $Gold FontFace $Oswald TextSize $Text32 - انقر على إضافة خاصية… في اللوحة الرئيسية واختر الخاصية اللازمة. تذكر أنه يمكنك كتابة كلمات رئيسية للعثور على الخصائص بشكل أسرع في قائمة السحب.
- بدلاً من إدخال قيمة ثابتة، انقر على زر ⋮ واختر ربط التوكن.
- انقر على $ الذي يظهر في حقل القيمة واختر التوكن المرتبط المناسب.


أدخل TextButton جديدة في ScreenGui التي قمت بإنشائها وربطها سابقًا ووسمها كـ ButtonPrimary. اختصار مريح هو كما يلي:
- تأكد من تحديد TextButton الجديدة في مستكشف.
- مع تحديد قاعدة الوسم .ButtonPrimary في العمود الأيسر من محرر الأنماط، انقر على تطبيق الوسم في اللوحة الرئيسية. يجب أن تنطبق الأنماط التي قمت بتعريفها تلقائيًا على الزر.


معدل واجهة المستخدم
تطبق محددات المعدل على UIComponents الوهمية مثل UICorner أو UIStroke لتنسيق كائن بشكل أكبر. يقوم إعداد القاعدة التالية بتنسيق TextLabel بحجم نص مخصص وزوايا مستديرة.
في العمود الأيسر من محرر الأنماط، حدد TextLabel في فرع عناصر واجهة المستخدم.

اربط توكن تم إنشاؤه مسبقًا بقواعد الأنماط إلى خاصية TextSize:
- انقر على إضافة خاصية… في اللوحة الرئيسية واختر خاصية TextSize. تذكر أنه يمكنك كتابة كلمات رئيسية للعثور على الخصائص بشكل أسرع في قائمة السحب.
- بدلاً من إدخال قيمة ثابتة، انقر على زر ⋮ واختر ربط التوكن.
- انقر على $ الذي يظهر في حقل القيمة واختر توكن $Text32.


تتطلب مثيلًا زائفًا لتكوين وتطبيق الزوايا المستديرة على عناصر أخرى. لإنشاء واحدة:
في العمود الأيسر، مرر فوق TextLabel، انقر على زر ⋮ وانتقل إلى جديد ⟩ مثيل زائف ⟩ UICorner.

يظهر مثيل UICorner زائف جديد تحت عنصر TextLabel في العمود الأيسر.

مع تحديد مثيل UICorner الجديد في العمود الأيسر، اربط توكن تم إنشاؤه مسبقًا بقواعد الأنماط إلى خاصية CornerRadius:
- انقر على إضافة خاصية… في اللوحة الرئيسية واختر خاصية CornerRadius.
- بدلاً من إدخال قيمة ثابتة، انقر على زر ⋮ واختر ربط التوكن.
- انقر على $ الذي يظهر في حقل القيمة واختر توكن $Rad20.

أدخل TextLabel جديدة في ScreenGui التي قمت بإنشائها وربطها سابقًا. يجب أن تنطبق الأنماط التي قمت بتعريفها تلقائيًا عليها.

قاعدة الحالة
تتوافق محددات حالة GuiObject مع واحدة من قيم GuiState الأربعة مثل Hover، مما يتيح لك تكوين تغييرات الأنماط تلقائيًا لحالات التفاعل. يقوم إعداد القاعدة التالية بإنشاء حالة تمرير بتدوير قدره -4 درجات لجميع ImageButtons.
في العمود الأيسر من محرر الأنماط، حدد ImageButton في فرع عناصر واجهة المستخدم.

انقر على زر ⋮ وانتقل إلى جديد ⟩ GuiState ⟩ Hover.

يظهر مثيل Hover جديد تحت عنصر ImageButton في العمود الأيسر.

مع تحديد المعدل الجديد Hover في العمود الأيسر، انقر على إضافة خاصية… في اللوحة الرئيسية واختر Rotation. تذكر أنه يمكنك كتابة كلمات رئيسية للعثور على الخصائص بشكل أسرع في قائمة السحب.
أدخل -4 في حقل قيمة الخاصية.

أدخل ImageButton جديدة في ScreenGui التي قمت بإنشائها وربطها سابقًا. عندما تمرر فوق الزر في واجهة العرض، يجب أن يدور 4 درجات عكس اتجاه عقارب الساعة.

استعلامات الأنماط
تسمح استعلامات الأنماط، المشابهة لـ استعلامات الحاويات ووسائط CSS، بتطبيق منطق شرطي على واجهة المستخدم الخاصة بك بناءً على حجم الحاوية، أو نوع الإدخال، أو عوامل أخرى. يوفر محرر الأنماط سير عمل مبسط لإنشاء كل من منطق الاستعلام (الشروط) والأنماط الناتجة كمجموعة موحدة.
الاستعلامات المدمجة
بعض شروط StyleQuery شائعة جدًا، مثل تغيير الخصائص بناءً على ViewportDisplaySize. لتبسيط ذلك، يتضمن محرر الأنماط استعلامات مدمجة تتيح لك إنشاء قواعد شرطية دون الحاجة إلى مثيل زائف أو حقيقي من StyleQuery؛ بدلاً من ذلك، يمكنك ببساطة استخدام قاعدة استعلام مع محدد مسبق مثل ViewportDisplaySizeSmall.
توضح الخطوات التالية كيفية إنشاء استعلامات مدمجة لـ TextLabel للتعامل مع أحجام عرض Small، وMedium، وLarge.
في العمود الأيسر من محرر الأنماط، مرر فوق TextLabel، انقر على زر ⋮ وانتقل إلى جديد ⟩ StyleQuery ⟩ Builtin ⟩ ViewportDisplaySize.

ينشئ هذا مجلد استعلامات تحت قاعدة TextLabel تحتوي على ثلاث قواعد استعلام:
- @ViewportDisplaySizeLarge — تحديد الخصائص التي تنطبق عندما يكون العرض Large.
- @ViewportDisplaySizeMedium — تحديد الخصائص التي تنطبق عندما يكون العرض Medium.
- @ViewportDisplaySizeSmall — تحديد الخصائص التي تنطبق عندما يكون العرض Small.

للتحقق من الاستعلامات، استخدم محاكي الجهاز لاختبار كيفية استجابة واجهة المستخدم لأحجام مختلفة عبر ثلاثة أجهزة متميزة:
غير الجهاز في محاكي الجهاز لرؤية النص يتغير في الوقت الحقيقي.
استعلام مخصص
يمكنك إضافة استعلام نمط إلى أي قاعدة موجودة لإنشاء واجهة مستخدم استجابة تتكيف مع حاويتها. يقوم الإعداد التالي بتكوين TextLabel لتغيير مظهره تلقائيًا فقط عندما يتوسع إلى عرض 400 بكسل أو أكثر.
في العمود الأيسر من محرر الأنماط، مرر فوق TextLabel، انقر على زر ⋮ وانتقل إلى جديد ⟩ StyleQuery ⟩ Custom.

تؤدي هذه الخطوة إلى إنشاء مجلد استعلامات تحت قاعدة TextLabel تحتوي على عنصرين مرتبطين:
- قاعدة ::StyleQuery المثيلة حيث تحدد الشروط.
- قاعدة @StyleQuery حيث تحدد الخصائص التي يجب تطبيقها عندما يتم استيفاء تلك الشروط.

حدد قاعدة TextLabel الأصلية في اللوحة الرئيسية وحدد الخصائص الافتراضية التالية:
الخاصية القيمة BackgroundColor3 $Magenta Text نص افتراضي حدد قاعدة ::StyleQuery في اللوحة الرئيسية، انقر على إضافة شرط…، وقم بتكوين ما يلي:
الشرط القيمة MinSize 400, 0 حدد قاعدة @StyleQuery في اللوحة الرئيسية واضبط الخصائص التي يجب تطبيقها عندما يكون الاستعلام نشطًا:
الخاصية القيمة BackgroundColor3 $Gold Text نص كبير
للتحقق من الاستعلام، يمكنك تغيير حجم TextLabel يدويًا في واجهة العرض.
اضبط عرضها لرؤية تبديل النمط في الوقت الحقيقي.
بينما يكون عرض TextLabel أصغر، لا يتم استيفاء شرط MinSize ويستخدم التسمية لون الخلفية الافتراضي والنص.

انتقالات الأنماط
تتيح انتقالات الأنماط، القابلة للمقارنة مع انتقالات CSS، لك أن تقوم بتغيير قيم الخصائص على مدى فترة محددة.
الافتراضي
لتغيير العديد من خصائص واجهة المستخدم بنفس المعلمات، يمكنك تعيين انتقال افتراضي ينطبق على جميع الخصائص ما لم يتم تعيين انتقال آخر بشكل صريح لخاصية معينة.
حدد TextButton في فرع عناصر واجهة المستخدم ثم، في اللوحة الرئيسية، أضف ثلاث خصائص جديدة بالقيم التالية:
الخاصية القيمة AutoButtonColor false BackgroundColor3 #335FFF Rotation 0 
مرر فوق صف TextButton الأصل، انقر على زر ⋮ وانتقل إلى جديد ⟩ GuiState ⟩ Hover.

بالنسبة للمعدل الجديد Hover، أضف خاصيتين جديدتين كـ أهداف لحالة التمرير.
الخاصية القيمة BackgroundColor3 #33AAFF Rotation -5 
أدخل TextButton جديدة في ScreenGui التي قمت بإنشائها وربطها سابقًا. عندما تمرر فوق الزر في واجهة العرض، يجب أن يزداد سطوعه تدريجيًا ويدور 5 درجات عكس اتجاه عقارب الساعة.

مرتبط بالتوكن
لإعادة استخدام سلوكيات الانتقال عبر قواعد متعددة، يمكنك تعريف توكنات تمثل نوع البيانات TweenInfo. يقوم إعداد القاعدة التالية بإنشاء حالة تمرير لتغيير جميع TextButtons من وإلى دوران قدره -5 درجات ولون خلفية أفتح.
إذا لم تكن قد قمت بذلك بالفعل، أنشئ ورقة توكن تُسمى TokenSheet.

حدد TextButton في فرع عناصر واجهة المستخدم ثم، في اللوحة الرئيسية، أضف ثلاث خصائص جديدة بالقيم التالية:
الخاصية القيمة AutoButtonColor false BackgroundColor3 #335FFF Rotation 0 
بالنسبة لكل خاصية جديدة باستثناء AutoButtonColor، مرر فوق صفها، انقر على زر ⋮ واختر إدراج ⟩ انتقال.

مرر فوق صف انتقال الجديد تحت كل خاصية، انقر على زر ⋮ واختر ربط التوكن. ثم، بدلاً من إدخال قيمة ثابتة، انقر على $ الذي يظهر في حقل القيمة واختر توكن الانتقال المناسب.

انتقال الخاصية توكن الانتقال BackgroundColor3 $CubicOut Size $QuadInOut 
مرر فوق صف TextButton الأصل، انقر على زر ⋮ وانتقل إلى جديد ⟩ GuiState ⟩ Hover.

بالنسبة للمعدل الجديد Hover، أضف خاصيتين جديدتين كـ أهداف لحالة التمرير.
الخاصية القيمة BackgroundColor3 #33AAFF Rotation -5 
أدخل TextButton جديدة في ScreenGui التي قمت بإنشائها وربطها سابقًا. عندما تمرر فوق الزر في واجهة العرض، يجب أن يزداد سطوعه تدريجيًا ويدور 5 درجات عكس اتجاه عقارب الساعة.

موضوعات الأنماط
تتكون موضوعات الأنماط من مجموعات من التوكنات المحددة التي يمكن تبديلها، على سبيل المثال، توكنات الألوان التي تحدد "موضوع فاتح" و"موضوع داكن".
إنشاء الموضوع
للتوسع، يتم تنظيم الموضوعات في مجلدات. بينما قد يكفي مجلد واحد لمعظم الأغراض، يمكنك تنظيم الموضوعات في مجلدات مثل "الألوان" أو "الخطوط" إذا رغبت في ذلك.
إنشاء مجلد موضوع جديد:
- في العمود الأيسر من محرر الأنماط، مرر فوق Themes، انقر على ⊕، واختر New Theme.
- أعد تسمية عنصر المجلد الجديد إلى عام.

إنشاء ورقة نمط موضوع جديدة:
- مرر فوق المجلد عام الجديد، انقر على زر ⋮ واختر New Theme StyleSheet.
- أعد تسميتها إلى ThemeA.

توكنات الموضوع
بمجرد إنشاء الموضوع، يمكنك ربط توكناته بخصائص كائن واجهة المستخدم المختلفة مثل BackgroundColor3 لـ TextButton. يجب أن تستخدم أوراق الموضوع مجموعة شائعة من التوكنات للعمل بشكل صحيح.
مع تحديد ThemeA في العمود الأيسر من محرر الأنماط:
اربط ثلاثة توكنات تم إنشاؤها مسبقًا بقواعد الأنماط إلى ثلاثة توكنات جديدة للموضوع:
توكن الموضوع توكن النمط BackColor $Gold ButtonFont $Oswald ButtonTextSize $Text32 - انقر على إضافة توكن… في اللوحة الرئيسية وأدخل اسم توكن الموضوع.
- انقر على $ الذي يظهر في حقل القيمة واختر توكن النمط المرتبط.

في العمود الأيسر من محرر الأنماط، حدد TextButton في فرع عناصر واجهة المستخدم.

اربط توكنات الموضوع إلى ثلاث خصائص جديدة من TextButton:
الخاصية توكن الموضوع BackgroundColor3 $BackColor FontFace $ButtonFont TextSize $ButtonTextSize - انقر على إضافة خاصية… في اللوحة الرئيسية واختر الخاصية اللازمة.
- بدلاً من إدخال قيمة ثابتة، انقر على زر ⋮ واختر ربط التوكن.
- انقر على $ الذي يظهر في حقل القيمة واختر توكن الموضوع المناسب.


تكرار الموضوع
بمجرد أن يكون لديك موضوع تم إنشاؤه بشكل عام، يمكنك تكراره وتغيير توكنات مختلفة لتعريف نمط موضوع فريد.
في العمود الأيسر من محرر الأنماط، مرر فوق موضوع ThemeA، انقر على زر ⋮ واختر تكرار.
أعد تسمية الموضوع المكرر إلى ThemeB.

اربط اثنين من توكنات الموضوع إلى توكنات نمط مختلفة:
توكن الموضوع توكن النمط BackColor $Magenta ButtonTextSize $Text24 - إلى يمين حقل قيمة الخاصية، انقر على زر ⋮ واختر فصل التوكن.
- انقر على ⋮ مرة أخرى واختر ربط التوكن.
- في حقل قيمته، انقر على $ واختر توكن نمط المرتبط الجديد.

تبديل الموضوع
بمجرد أن يكون لديك مواضيع متعددة، يمكنك التبديل بينها عبر مجلد الموضوع، أو عبر نص كما هو موضح في SetDerives().
في العمود الأيسر من محرر الأنماط، حدد المجلد عام في فرع الموضوعات.
في اللوحة الرئيسية، قم بالتبديل بين الموضوعات باستخدام أزرار الراديو.




