gohud

واجهة اللعبة كلها يقودها مورد واحد

gohud طقم HUD وواجهات لـ Godot 4.7 وما بعده. النوافذ العائمة والأوراق السفلية ومربعات الحوار والنماذج وأشرطة الإشعار والعلامات الإرشادية وأشرطة HUD والخانات السريعة وعصا التوجيه الافتراضية كلها تعمل بـ سمة واحدة ومجموعة أيقونات واحدة قابلة للاستبدال، وتتكفّل نيابة عنك بالمنطقة الآمنة ولوحة المفاتيح الافتراضية واتجاه RTL ومساحات اللمس. أربعة عشر نمطًا جاهزًا — الافتراضي والخيال العلمي والعصور الوسطى وMaterial 3 والأطفال والقصص المصوّرة والأركيد، لكلٍّ منها داكن وفاتح — تغيّر الألوان والأشكال بسطر واحد.

Godot 4.7+ v1.3.0 GDScript خالص لا حاجة إلى autoload MIT 14 نمطًا جاهزًا جديد: Arcade · Comic · Material 3 · Kids 21 لغة 1,287 أيقونة مضمّنة

جديد: الأركيد والقصص المصوّرة وMaterial 3 ومظهر للأطفال

أربع عائلات جديدة تنضمّ إلى الافتراضي والخيال العلمي والعصور الوسطى — فصار لديك الآن أربعة عشر مظهرًا مدمجًا، لكلٍّ منها نسخة داكنة وأخرى فاتحة. وكل ودجة ونافذة منبثقة وقطعة HUD تتبنّاها دون أي تغيير في كودك: بدّل النمط الجاهز فتتبعه الشاشة كلها.

معرض gohud بنمط material_light — أزرار على شكل حبة، وبطاقات مملوءة، وألوان Material 3
material_light
معرض gohud بنمط material_dark — أشكال Material 3 نفسها على المخطط الداكن الأساسي
material_dark
معرض gohud بنمط kids_light — أزرار هلامية ممتلئة بألوان طباشيرية على صفحة مشمسة
kids_light
معرض gohud بنمط kids_dark — صندوق الألعاب نفسه على صفحة زرقاء ليلية
kids_dark
معرض gohud بنمط comic_light — حدود حبرية عريضة وظلال حادّة على صفحة بلون الورق الكريمي
comic_light
معرض gohud بنمط comic_dark — حدود كريمية ولون أساسي أصفر على صفحة ليلية
comic_dark
معرض gohud بنمط arcade_light — مفاتيح ملوّنة بتدرّج ولمعة، ولوح HUD سميك بإطار أزرق على صفحة بلون السماء
arcade_light
معرض gohud بنمط arcade_dark — المفاتيح الزاهية نفسها على صفحة ليلية
arcade_dark

Material 3 — لشاشات التطبيقات

Material 3 Expressive، مقيسًا على رموز M3 الرسمية: أزرار حبة بلوح 40dp داخل مساحة لمس 48dp، ومربعات حوار وأوراق بزوايا 28dp، وبطاقات مملوءة، وحقول بحدود، ومنزلق Expressive. أما مكوّنات التطبيق — شريط التنقل، والشريط العلوي، وزر FAB، وشريط البحث، والشرائح، والتقدّم، ومنتقي التاريخ — فتتبع رموز مكوّنات M3، والعناوين بخط Roboto المضمَّن. للمتاجر والإعدادات وصناديق الوارد وكل شاشة ينبغي أن تبدو كتطبيق.

الأطفال — صندوق الألعاب

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

القصص المصوّرة — حبر عريض

كل وجه إطار من قصة مصوّرة: لون السطح داخل حدّ حبري عريض، وخلفه ظلّ حادّ يختفي حين يُضغط الوجه. إعداد واحد يشغّل الظلال كلها أو يطفئها، وإعدادان آخران يضبطان عرض الحدّ وحجم الظلّ، واستدعاء واحد يفعل الشيء نفسه لودجة واحدة. والنوافذ تحصل على لافتة عنوان صفراء.

الأركيد — مفاتيح ملوّنة

كل مفتاح ملوّن — تدرّج ولمعة بيضاء وشفة تنخفض حين يُضغط، داخل حدّ حبري كحلي — وعليه تسمية بيضاء بحدّ حبري: الأخضر للّعب، والأزرق لما سواه، والأحمر للحذف. والألواح سميكة: إطار ملوّن حول تجويف فاتح، والنوافذ تحصل على لافتة عنوان ذهبية ومفتاح إغلاق أحمر مستدير.

GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT)   # أو MATERIAL_DARK
GoUi.use_preset(&"kids_light")                   # أو &"kids_dark"
GoUi.use_preset(&"comic_light")                  # أو &"comic_dark"
GoUi.use_preset(&"arcade_light")                 # أو &"arcade_dark"

Material 3 بالتفصيل ← · مظهر الأطفال بالتفصيل ← · الأركيد، ودجةً ودجةً ↓ · القصص المصوّرة، ودجةً ودجةً ↓ · النافذة المنبثقة نفسها بالمظاهر الأربعة عشر ←

الأركيد: مفاتيح ملوّنة وألواح سميكة

أحدث المظاهر يُلبس كل شاشة حُلّة آلة ألعاب الأركيد. كل مفتاح ملوّن — تدرّج من أعلى فاتح إلى أسفل أعمق، وخطّ لمعة أبيض، وشفة تنخفض حين يُضغط، وكل ذلك داخل حدّ حبري كحلي — وتسميته بيضاء بحدّ حبري. وكل لوح سميك: إطار ملوّن بلمعته الخاصة حول تجويف فاتح. arcade_light يضع ألواحًا بيضاء على صفحة بلون السماء؛ وarcade_dark يضع ألواحًا كحلية على صفحة ليلية. كل صورة أدناه شاشة gohud حقيقية — الكود نفسه، وسطر واحد للنمط الجاهز.

GoUi.use_preset(&"arcade_light")   # أو &"arcade_dark"
معرض gohud بنمط arcade_light — مفاتيح ملوّنة بالأخضر والأزرق والأحمر والخزامي، ولوح HUD بإطار أزرق على صفحة بلون السماء
arcade_light · المعرض
معرض gohud بنمط arcade_dark — المفاتيح الزاهية نفسها على صفحة ليلية
arcade_dark · المعرض
مربع حوار تأكيد بنمط arcade_light — لافتة عنوان ذهبية، ومفتاح إغلاق أحمر مستدير، ومفاتيح ملوّنة بالأزرق والأخضر على لوح مؤطَّر
GoDialogs
ورقة سفلية بنمط arcade_light — لوح سميك مؤطَّر يرتفع من الحافة السفلية وفيه صفوف على هيئة أغطية مفاتيح
GoSheet
علامة إرشادية بنمط arcade_light — فقاعة شرح مؤطَّرة تشير إلى مفتاح
GoCoachMark
درج جانبي بنمط arcade_dark — لوح كحلي من صفوف التنقل فوق الشاشة المعتّمة
GoDrawer
نافذة منبثقة صغيرة بنمط arcade_dark — فقاعة مؤطَّرة مثبّتة على المفتاح الذي فتحها
GoPopover
مربع حوار تنبيه بنمط arcade_dark — لافتة Level up! ذهبية، ومفتاح إغلاق أحمر، ومفتاح Great أخضر على لوح كحلي بإطار أزرق
GoDialogs.alert()
شريط إشعار سفلي بنمط arcade_light — لوح أبيض بإطار بنّي على امتداد الحافة السفلية مع إجراء Undo
GoSnackbar

كل مفتاح ملوّن

أزرار بنمط arcade_light — Play أخضر، وDetails أزرق، ومفتاح أبيض بحدّ، وDelete مرجاني، وDelete forever أحمر، ومفتاح مدمج خزامي، ومفتاح رمادي معطّل، وكلٌّ منها ملوّن بتدرّج ولمعة وشفة داخل حدّ كحلي
GoStyle.button()
ألسنة بنمط arcade_light — اللسان المختار مفتاح ملوّن بالأزرق، والبقية مفاتيح خزامية
GoStyle.tabs()
عنصر تحكم مقسّم بنمط arcade_light — مفاتيح ملوّنة منفصلة، والمختار منها أزرق ومضغوط إلى الداخل
مفاتيح مقسّمة
مفاتيح تبديل ومربعات اختيار بنمط arcade_light — مسار أخضر لامع عند التشغيل، وخزامي عند الإيقاف، ومربع اختيار أخضر
مفاتيح التبديل ومربعات الاختيار
بطاقات بنمط arcade_light — تجاويف فاتحة داخل أطر زرقاء سميكة بلمعة وشفة
GoStyle.card()
نموذج بنمط arcade_light — حقل أبيض غائر، ومفتاح تبديل، ومفتاح Save أخضر
GoForm
شبكة اختيارات بنمط arcade_light — أغطية مفاتيح، والمختار منها محاط بالذهبي فوق مسحة خضراء
GoStyle.choice_grid()
شبكة خانات بنمط arcade_light — مخزون من أغطية مفاتيح لامعة مع أعداد الرزم
GoSlotGrid
صفوف قائمة بنمط arcade_light — كل صف غطاء مفتاح فاتح مع أيقونة
صفوف القائمة
منتقي تاريخ بنمط arcade_light — أيام على هيئة أغطية مفاتيح، واليوم المختار مفتاح ملوّن
GoDatePicker
منزلق بنمط arcade_light — أنبوب أزرق لامع في أخدود حبري، ومقبض مستدير على هيئة غطاء مفتاح
GoStyle.slider()
مجموعة أزرار اختيار بنمط arcade_light — أغطية مفاتيح مستديرة، والمختار منها بنقطة زرقاء
GoStyle.radio_group()
رقائق تصفية بنمط arcade_light — رقائق على هيئة أغطية مفاتيح، والمختارة منها مصبوغة بالأزرق مع علامة صح، ورقائق قابلة للإزالة مع علامة تقاطع
GoStyle.filter_chip()
شريط بحث بنمط arcade_light — حقل أبيض غائر داخل حدّ حبري مع أيقونتي بحث وتصفية
GoSearchBar
مؤشر خطوات بنمط arcade_light — كل خطوة غطاء مفتاح فاتح، والخطوة المفتوحة تُظهر مفتاح Next الأخضر الخاص بها
GoStepper
جدول المتصدّرين بنمط arcade_light — كل صف ثانٍ غطاء مفتاح بارز
GoTable
شريط تنقّل سفلي بنمط arcade_light — أيقونة اللسان المختار على كبسولة زرقاء على هيئة غطاء مفتاح، وشارة عدد حمراء
GoNavBar
منتقي وقت بنمط arcade_light — الساعة والدقائق على أغطية مفاتيح كبيرة، ومفتاحا AM وPM فوق قرص ساعة
GoTimePicker
حقل إدخال رمز بنمط arcade_light — ثماني خانات على هيئة أغطية مفاتيح، والخانة الجاري الكتابة فيها محاطة بالذهبي
GoCodeInput
منتقي عجلة بنمط arcade_light — الكمية المختارة على شريط على هيئة غطاء مفتاح، والبقية تتلاشى فوقه وتحته
GoWheelPicker

ليلًا: arcade_dark

على صفحة داكنة يصير الحبر هو الصفحة نفسها، أعمق بكثير، وتبقى الألوان زاهية كما هي.

أزرار بنمط arcade_dark — الألوان الزاهية نفسها على صفحة ليلية
GoStyle.button() ليلًا
أشرطة HUD بنمط arcade_dark — أنابيب HP حمراء وMP زرقاء وXP خضراء في أخاديد غائرة
GoBar
بطاقات HUD بنمط arcade_dark — تجويف كحلي داخل إطار أزرق سميك فوق اللعبة
GoStyle.hud_panel()
خانات سريعة بنمط arcade_dark — أغطية مفاتيح مع عدد الرزمة، وخانة في فترة التهدئة محاطة بالذهبي
GoSlot
عصا توجيه افتراضية بنمط arcade_dark — قاعدة لامعة داخل حلقة حبرية بأربعة أسهم ومقبض على هيئة غطاء مفتاح
GoJoystick
تنبيهات بنمط arcade_dark — ألواح صغيرة بأطر صفراء وخضراء وحمراء وزرقاء
التنبيهات
أزرار إجراء عائمة بنمط arcade_dark — مفاتيح ملوّنة بالذهبي بلمعة
GoFab
تقويم مكافآت بنمط arcade_dark — أيام على هيئة أغطية مفاتيح، واليوم الحالي محاط بالذهبي
GoRewardCalendar
عنصر تحكم مقسّم بنمط arcade_dark — مفتاح Day المختار ملوّن بالأزرق، وWeek وMonth خزاميان، وكل التسميات بيضاء
مفاتيح مقسّمة
عرض ألسنة بنمط arcade_dark — مفاتيح ألسنة ملوّنة فوق صفوف عناصر هي أغطية مفاتيح كحلية
GoTabView
قائمة قابلة للتمرير بنمط arcade_dark — صفوف عناصر على أغطية مفاتيح كحلية وصفّ من رقائق التصفية، والمختارة منها زرقاء
GoScroll
مفاتيح تبديل ومربعات اختيار بنمط arcade_dark — مسار أخضر لامع عند التشغيل، وخزامي عند الإيقاف
مفاتيح التبديل ومربعات الاختيار
رقائق الندرة بنمط arcade_dark — لوحات صغيرة ملوّنة من Common إلى Cursed
GoStyle.chip()
شبكة خانات بنمط arcade_dark — مخزون من أغطية مفاتيح كحلية بأيقونات بيضاء وأعداد الرزم
GoSlotGrid
منزلق نطاق بنمط arcade_dark — مقطع أزرق بين مقبضين لامعين في أخدود داكن
GoRangeSlider
ترقيم الصفحات بنمط arcade_dark — الصفحة الحالية مفتاح ملوّن بالأخضر
GoPagination
شارات بنمط arcade_dark — لوحات مرجانية بحدّ حبري فوق الأيقونات
GoBadge

كيف يعمل مظهر الأركيد

الوجه

كل مفتاح ولوح هو GoStyleBoxArcade: حدّ حبري وجسم متدرّج وشفة ولمعة، تُرسم داخل مستطيل عنصر التحكم نفسه — فيحافظ المفتاح على حجمه من حالة إلى أخرى، ولا يفعل الضغط سوى أن يُغرسه.

تسميات مقروءة

التسمية البيضاء ذات الحدّ الحبري تُقرأ على أي لون يفصلها عنه الحدّ — فمعيار WCAG يعدّ الحدّ جزءًا من الحرف. ويُزاح كل لون حتى تتجاوز تسميته 4.6:1 عند كل ارتفاع من التدرّج.

النوافذ

عنوان النافذة يقع على لافتة ذهبية بحروف بيضاء محدّدة بالحبر، بجوار مفتاح إغلاق أحمر مستدير. ومربعات الحوار والأوراق والأدراج والنوافذ المنبثقة الصغيرة ألواح سميكة مؤطَّرة.

يمكن لمفتاح واحد أن يأخذ لونه الخاص — مفتاح متجر برتقالي في قائمة الإيقاف المؤقت:

menu.add_child(GoStyle.arcade_paint(GoStyle.button("Shop", _shop), Color("#FF8A1E")))

مظهر الأركيد بالتفصيل ← · النافذة المنبثقة نفسها بالمظاهر الأربعة عشر ←

القصص المصوّرة: حبر عريض وظلّ حادّ

مظهر القصص المصوّرة يرسم كل وجه كإطار في قصة مصوّرة — لون السطح داخل حدّ حبري عريض، مع ظلّ حادّ مصمت يسقط نحو الأسفل واليمين. comic_light يحبّر بالأسود على صفحة بلون الورق الكريمي بلون أساسي كوبالتي؛ وcomic_dark يحبّر بالكريمي على صفحة ليلية بلون أساسي أصفر. كل صورة أدناه شاشة gohud حقيقية — الكود نفسه، وسطر واحد للنمط الجاهز.

GoUi.use_preset(&"comic_light")   # أو &"comic_dark"
معرض gohud بنمط comic_light — مفاتيح وصفوف وأشرطة محبَّرة بظلال حادّة على صفحة بلون الورق الكريمي
comic_light · المعرض
معرض gohud بنمط comic_dark — حبر كريمي ولون أساسي أصفر على صفحة ليلية
comic_dark · المعرض
ورقة سفلية بنمط comic_light — لوحة محبَّرة ترتفع من الحافة السفلية وفيها صفوف محبَّرة
GoSheet
علامة إرشادية بنمط comic_light — فقاعة شرح محبَّرة تشير إلى زر
GoCoachMark
درج جانبي بنمط comic_dark — لوحة محبَّرة من صفوف التنقل فوق الشاشة المعتّمة
GoDrawer
نافذة منبثقة صغيرة بنمط comic_dark — فقاعة محبَّرة مثبّتة على الزر الذي فتحها
GoPopover

كل ودجة محبَّرة

الأزرار ومفاتيح التبديل والألسنة والمنزلقات والبطاقات والنماذج والجداول والمنتقيات والشرائح كلها ترتدي الحبر — فلا تحتاج إلى تنسيقها واحدةً واحدة. اضغط مفتاحًا فيختفي ظلّه: ينغرس الوجه في مكانه كالختم. والوجوه المعطّلة تفقد ظلّها وتبهت، فيبرز ما يمكن ضغطه عمّا لا يمكن.

أزرار بنمط comic_light — مفاتيح أساسية وثانوية وبحدود وخطرة ومدمجة ومجرّدة ومعطّلة، كلٌّ منها بحدّ أسود عريض وظلّ حادّ
GoStyle.button() — كل الأنواع
مفاتيح تبديل ومربعات اختيار بنمط comic_light — مسار ومقبض محبَّران، ومربعات محبَّرة بعلامة صح
مفاتيح التبديل ومربعات الاختيار
أزرار راديو بنمط comic_light — حلقات محبَّرة، والمختار منها بنقطة مملوءة
أزرار الراديو
ألسنة بنمط comic_light — اللسان المختار لوحة محبَّرة، والبقية فوق خط حبري سفلي
GoStyle.tabs()
عنصر تحكم مقسّم بنمط comic_light — خلايا محبَّرة، والمختارة منها مملوءة
الأزرار المقسّمة
منزلق بنمط comic_light — مجرى محبَّر وتعبئة رفيعة بلون التمييز ومقبض محبَّر
GoStyle.slider()
قوائم منسدلة بنمط comic_light — مفاتيح محبَّرة بسهم صغير
القوائم المنسدلة
بطاقة بنمط comic_light — لوحة بيضاء بحدّ عريض وظلّ حادّ
GoStyle.card()
نموذج بنمط comic_light — حقل محبَّر بتلميح، ومفتاح تبديل، ومفتاح حفظ محبَّر
GoForm
صفوف قائمة بنمط comic_light — كل صفّ شريط محبَّر بأيقونة أو عنوان فرعي أو تسمية خطر
صفوف القوائم
جدول بنمط comic_light — ترويسة فوق خط حبري، وكل صفّ نتائج شريط محبَّر
GoTable
منتقي تاريخ بنمط comic_light — خلايا أيام محبَّرة، واليوم المختار مملوء
GoDatePicker
منتقي وقت بنمط comic_light — مربعات محبَّرة للساعة والدقيقة، ومفتاحا AM وPM، وقرص ساعة
GoTimePicker
مؤشّر خطوات بنمط comic_light — صفوف خطوات محبَّرة، والخطوة المنجزة بعلامة صح والقادمة باهتة
GoStepper
شرائح تصفية وإدخال بنمط comic_light — حبّات محبَّرة، والتصفية المختارة ملوّنة بعلامة صح
شرائح التصفية
شريط تنقل بنمط comic_light — خط حبري في الأعلى، واللسان الحالي في حبّة محبَّرة، وشارة على التنبيهات
GoNavBar
مجموعة إدخال بنمط comic_light — حقل ومفتاح الإرسال ملحومان في شكل محبَّر واحد
GoInputGroup
زر مقسوم بنمط comic_light — إجراء وسهم قائمة في نصفين محبَّرين
GoSplitButton
ترقيم صفحات بنمط comic_light — الصفحة الحالية مفتاح محبَّر بظلّ حادّ
GoPagination

ليلًا: comic_dark

على صفحة داكنة يختفي الحدّ الأسود، لذلك يرسمه comic_dark بالكريمي ويُسقط ظلًّا خافتًا ملوّنًا بالحبر نفسه. وقطع HUD — الخانات السريعة والأشرطة وعصا التوجيه وتقويم المكافآت — تتبع القواعد نفسها.

أزرار بنمط comic_dark — حدود كريمية ولون أساسي أصفر وظلال حادّة خافتة على صفحة ليلية
GoStyle.button() ليلًا
خانات سريعة بنمط comic_dark — مكعّبات محبَّرة بعدد الرصّة وزمن التهدئة، والخانات المضيئة بإطار أصفر
GoSlot
أشرطة HUD بنمط comic_dark — HP وMP وXP في مجارٍ بحبر كريمي
GoBar
عصا توجيه افتراضية بنمط comic_dark — حلقة كريمية ومقبض يلقي ظلًّا
GoJoystick
تنبيهات بنمط comic_dark — لوحات معلومات ونجاح وتحذير وخطر بحبر كريمي
التنبيهات
شبكة خانات بنمط comic_dark — مخزون من المكعّبات المحبَّرة
GoSlotGrid
تقويم مكافآت بنمط comic_dark — خلايا أيام محبَّرة، والأيام المستلمة بعلامة صح واليوم الحالي بإطار أصفر
GoRewardCalendar
شرائح الندرة بنمط comic_dark — حبّات محبَّرة، لكلٍّ منها لونها الخاص
الشرائح
منزلق نطاق بنمط comic_dark — مقبضان محبَّران على مجرى محبَّر
GoRangeSlider
شريط بحث بنمط comic_dark — شريط محبَّر بأيقونتي البحث والتصفية
GoSearchBar
أزرار إجراء عائمة بنمط comic_dark — مفاتيح صفراء بحبر كريمي وظلال حادّة
GoFab

كيف يعمل مظهر القصص المصوّرة

StyleBox واحد لكل وجه

كل وجه هو GoStyleBoxComic: تعبئة وحدّ وظلّ، تُرسم داخل مستطيل عنصر التحكم نفسه. وهو يقرأ حجمَي الحدّ والظلّ من GoConfig في كل مرة يرسم فيها، فيغيّر إعداد واحد الشاشة كلها دفعة واحدة.

المضغوط مسطّح

المفتاح المضغوط يُسقط ظلّه وينتقل إلى مكانه. والتمرير فوقه يُبقي الظلّ؛ والتركيز يضيف حلقة حبرية داخلية لا تغطّي الحدّ أبدًا؛ والوجوه المعطّلة تفقد الظلّ وتبهت.

المظهر يحبّر الباقي

GoSkinComic يحبّر ما يرسمه الكود: الخانات السريعة والشرائح والشارات والصور الرمزية والإشعارات وشريط التنقل وزر FAB وخلايا التاريخ وعصا التوجيه التي يلقي مقبضها ظلًّا.

النوافذ تحصل على لافتة

عنوان النافذة يقع على لافتة صفراء، كصندوق السرد في القصص المصوّرة، بجوار زر إغلاق مستدير محبَّر. ومربعات الحوار والأوراق والأدراج والنوافذ المنبثقة الصغيرة لوحات محبَّرة معتمة.

مقروء نهارًا وليلًا

تجتاز لوحتا الألوان فحوص التباين نفسها وفق WCAG التي يجتازها كل نمط جاهز آخر، بما في ذلك المفاتيح المضغوطة والمعطّلة. وحين يقترب لون اللافتة أكثر من اللازم من لون الصفحة، يعود حدّها إلى لون الصفحة.

بلا تغيير في التخطيط

الحدّ والظلّ يتّسعان داخل كل عنصر تحكم، والحشوة تبقى كما أعطتها السمة، فالشاشة المصمَّمة بمظهر آخر تحتفظ بتخطيطها — وبخط مشروعك.

ثلاثة إعدادات واستدعاء واحد

ثلاثة إعدادات في GoConfig تغيّر كل وجه قصص مصوّرة دفعة واحدة. لا يُعاد بناء شيء — تُعاد رسم الشاشة فور ضبطها.

GoUi.config.comic_border_width = 2.0   # الحدّ (dp) — 3 افتراضيًا
GoUi.config.comic_shadow_size = 6.0    # الظلّ (dp) — 4 افتراضيًا
GoUi.config.comic_shadow = false       # بلا ظلال في أي مكان

يمكن لودجة واحدة أن تسلك طريقها الخاص، أيًّا كانت الإعدادات. مرّر true وسيطًا أخيرًا ليشمل الأمر كل ما بداخلها.

GoStyle.comic_shadow(skip_button, false)     # هذا الزر مسطّح
GoStyle.comic_shadow(card, true, true)       # هذه البطاقة وكل ما فيها تحتفظ بظلّها
GoStyle.comic_border(title, 5.0)             # حدّ أعرض لهذا وحده
اصنع قصصك المصوّرة الخاصة. tools/new_theme.py inked --from comic_light ينسخ لوحة الألوان؛ غيّر ألوان الورق والحبر واللون الأساسي ثم شغّل tools/make_theme.py inked. ويأتي الحبر والظلّ والمظهر معها.

مظهر القصص المصوّرة بالتفصيل ← · النافذة المنبثقة نفسها بالمظاهر الأربعة عشر ←

كيف يبدو داخل لعبة

نمطا العصور الوسطى والخيال العلمي — صفحات الشخصية والحقائب والمهام؛ النماذج والشبكات وبطاقات السؤال؛ اللوحات المشطوفة وأدوات التحكم باللمس. تبديل النمط الجاهز سطر برمجي واحد.

سمة العصور الوسطى في gohud — صفحة شخصية فيها أشرطة صحة ومانا وقدرة تحمّل، وحقيبة من الخانات السريعة، وسجل مهام داخل إطارات ذهبية مطروقة
العصور الوسطى — الشخصية والحقيبة والمهام
سمة العصور الوسطى في gohud — لوحة إدخال فيها حقل اسم ومفتاح تبديل ومربعات اختيار وشريط مستوى صوت، وشبكة بلاطات، وبطاقة دعوة إلى الفريق فيها قبول ورفض
العصور الوسطى — النماذج والشبكات وبطاقات السؤال
سمة الخيال العلمي في gohud — لوحة تحكم باللمس بزوايا مشطوفة فيها عصا توجيه سداسية، ومبدّل بين الوضع الثابت والمتابع والنسبي، وأزرار حركة دائرية
الخيال العلمي — لوحات حادة الزوايا وتحكّم باللمس

الأنماط الجاهزة الأربعة عشر وكيف تبدّل بينها ←

ما الذي يتكفّل به بدلًا منك

أكثر ما يستهلك الوقت في واجهات الألعاب ليس شكل الزر — بل كل ما ينحرف بين جهاز وآخر. gohud يعالج هذا الانحراف في مكان واحد.

كل مقاس توكن له اسم

المسافات والزوايا وأحجام النص تُطلب بأسمائها لا تُكتب أرقامًا. بدّل السمة فتتحرك الشاشة كلها معها.

الحجم المرئي ≠ الحجم الملموس

زر الإغلاق يبدو بحجم 36dp لكن مساحة لمسه 48dp. وحيث تتداخل الخانات المتلاصقة، تأخذ الضغطةَ الخانةُ الأقرب مركزًا.

النتوءات ولوحات المفاتيح

قطع HUD تجلس داخل المنطقة الآمنة، وحقل الإدخال يرتفع فوق لوحة المفاتيح الافتراضية حين تظهر.

الرجوع يغلق شيئًا واحدًا

مفتاح Escape وزر الرجوع في أندرويد يغلقان السطح الأعلى فقط. النوافذ المتراكمة لا تختفي دفعة واحدة.

الإشعارات لا تسرق اللمس

اضغط عبر شريط الإشعار فيصل الضغط إلى الزر الذي تحته. ولا يُسلب التركيز أيضًا.

الأيقونات تُطلب بالاسم

الودجات لا تعرف سوى GoIconSet.CLOSE. بدّل المجموعة فتتغير كل الرسوم دون لمس سطر واحد من الكود. الأيقونات →

أربعة عشر مظهرًا بسطر واحد

GoUi.use_preset() يبدّل السمة والمظهر والأيقونات معًا — إطارات مدوّرة أو مشطوفة بطراز الخيال العلمي أو مطروقة بطراز العصور الوسطى، أو مكوّنات تطبيقات Material 3، أو حلوى الأطفال الهلامية، أو حبر القصص المصوّرة، أو ألوان الأركيد.

وضوح مقيس لا مُقدَّر

كل سمة تُفحص وفق معايير WCAG، بما في ذلك حالات الأزرار ولوحات HUD الشفافة فوق الأبيض الخالص والأسود الخالص.

كل شيء يعمل دون تفعيل الإضافة. تفعيلها يضيف autoload باسم GoRuntime يتتبّع حجم النافذة ومقياس dp وارتفاع لوحة المفاتيح، إضافة إلى إعدادات مشروع لمورد الإعدادات وللنمط الجاهز — وسائل راحة، لا شروط.

تثبيت gohud

طريقان. دع وكيل الذكاء الاصطناعي يقوم بذلك، أو ضع المجلد في مشروعك — لا شيء آخر يحتاج إلى إعداد.

التثبيت

بداية سريعة

خمسة أسطر تضع شاشة بسمة جاهزة على العرض. الشرح كاملاً في صفحة التثبيت.

بداية سريعة

غيّر المظهر — الألوان والشكل معًا

السمة لا تستطيع إعادة تنسيق إلا ما يرسمه المحرك. والزوايا المدوّرة هي الزوايا الوحيدة التي يملكها StyleBoxFlat، أما عصا التوجيه والخانات السريعة والعلامة الإرشادية فيرسمها الكود — ومن ثمّ لا تستطيع السمة وحدها تغيير أشكالها أبدًا. لذلك يأتي gohud بـ أنماط جاهزة: سمة ومظهر ومجموعة أيقونات تُختار وحدةً واحدة.

GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK)   # السمة والمظهر والأيقونات معًا
النمط الجاهزالمظهر
default_darkgohud الأصلي — زوايا مدوّرة ولون تمييز أزرق هادئ
default_lightالأشكال نفسها على لوحة ألوان فاتحة
scifi_darkزوايا مشطوفة، وحواف نيون سماوية متوهجة، وعصا توجيه سداسية، وأقواس تصويب
scifi_lightالأشكال الحادة نفسها بلوحة ألوان مخطط أزرق ساطع
medieval_darkحديد وجلد داكنان، وإطارات ذهب عتيق، ومسامير، وأيقونات محفورة، وعناوين بخط Cinzel
medieval_lightرقّ وحبر وبرونز مع الإطارات المطروقة نفسها
material_light جديدMaterial 3 لشاشات التطبيقات — أزرار على شكل حبة، ومربعات حوار بزوايا 28dp، وبطاقات مملوءة، وشريط التنقل وزر FAB وشريط البحث في التطبيق، وخط Roboto
material_dark جديدأشكال Material 3 نفسها على المخطط الداكن الأساسي
kids_light جديدصندوق ألعاب للأطفال — مفاتيح كحلوى الهلام بحافة ممتلئة وشفة تنخفض عند الضغط، وألوان طباشيرية، وصفحة مشمسة
kids_dark جديدصندوق الألعاب نفسه على صفحة زرقاء ليلية
comic_light جديدإطارات القصص المصوّرة — حدّ حبري عريض وظلّ حادّ على كل وجه، ولوحات بيضاء على صفحة بلون الورق الكريمي؛ والظلّ وحجمه وعرض الحدّ كلها إعدادات
comic_dark جديدالحبر نفسه على صفحة ليلية — حدود كريمية ولون أساسي أصفر
arcade_light جديدآلة ألعاب أركيد — كل مفتاح ملوّن بتدرّج ولمعة وشفة، وتسميته بيضاء بحدّ حبري؛ ألواح سميكة مؤطَّرة على صفحة بلون السماء، ولافتة عنوان ذهبية على النوافذ
arcade_dark جديدالمفاتيح الزاهية نفسها على ألواح كحلية وصفحة ليلية
معرض gohud بالنمط الجاهز default_dark — زوايا مدوّرة ولون تمييز أزرق
default_dark — زوايا مدوّرة ولون تمييز أزرق هادئ
النمط الجاهز default_light — الأشكال نفسها على لوحة ألوان فاتحة
default_light — الأشكال نفسها، لوحة ألوان فاتحة
النمط الجاهز scifi_dark — زوايا مشطوفة ونيون سماوي
scifi_dark — زوايا مشطوفة ونيون سماوي
النمط الجاهز scifi_light — الأشكال الحادة نفسها بلوحة ألوان مخطط أزرق
scifi_light — الأشكال الحادة نفسها، لوحة مخطط أزرق

هذه الأربع هي شاشة المعرض ذاتها. لا يختلف فيها سطر واحد من الكود — إنما اسم النمط الجاهز فقط. زوايا الأزرار وأشكال مفاتيح التبديل وصفوف القوائم وحدود حقول الإدخال تتحرك كلها معًا.

مجموعة العصور الوسطى

medieval_dark يزاوج الحديد والجلد بالذهب العتيق، وmedieval_light يستعمل الرقّ والحبر. إطارات القوائم تحمل مسمارًا وزخرفة ركن صغيرة، بينما يبقى HUD الدائم الظهور هادئًا؛ و16 أيقونة محفورة تعيد رسم أسماء الأغراض، ولا يستعمل خط Cinzel المضمَّن سوى العناوين والعناوين الفرعية.

medieval_dark — صفحة الشخصية وحقيبة الخانات السريعة وسجل المهام
medieval_dark — حديد وجلد
medieval_light — شاشات الشخصية والحقيبة والمهام نفسها على رقّ
medieval_light — رقّ وحبر

اللقطتان كلتاهما من examples/medieval/medieval.tscn، مبنيّتان من الودجات القياسية. دليل العصور الوسطى وكيف تصنع مملكتك أنت ←

الشاشة ذاتها على هاتف وعلى سطح مكتب

لقطات المعرض لهاتف بالوضع الطولي. وأدناه الكود نفسه بمقاس 1280×800 — يتوقف المحتوى عند عرض مريح للقراءة (480dp) ويتوسّط، بينما يبقى HUD في الأركان. والنموذج يلتفّ حول قطع HUD العائمة، لكنه لا يتحرك إن كان بعيدًا عنها أصلًا: دفعه رغم ذلك يخرج المحتوى عن مركز الشاشة العريضة.

default_dark بمقاس 1280x800 — محتوى متوسّط وHUD في الأركان
default_dark · 1280×800
scifi_dark بمقاس 1280x800 — التخطيط نفسه بلوحات مشطوفة ونيون
scifi_dark · 1280×800

الورقة ذاتها بمظهر مختلف

ورقة سفلية بنمط default_dark
الافتراضي — بطاقة مدوّرة، وصف بحث وتذييل ثابتان
ورقة سفلية بنمط scifi_dark — حافة تمييز نيون على طول الأعلى
الخيال العلمي — حافة تمييز علوية وزوايا مقطوعة وتوهّج

اختر واحدًا من Project Settings → gohud → Theme → Preset، أو اضبط GoConfig.preset. وتعبئة theme أو skin أو icons صراحةً تغلب النمط الجاهز، فبإمكانك أن تأخذ نمطًا جاهزًا وتتجاوز واحدًا منها فقط.

السمة الجديدة ملف JSON واحد. الأمر new_theme.py kingdom --from medieval_dark يكتب لوحة ألوان تسرد كل قيمة موروثة صراحةً، وmake_theme.py kingdom يبني السمة ورسوم عناصر التحكم ومقابض المظهر، فيظهر النمط الجاهز في قائمة الاختيار. كل إعداد وكل مقبض ←

المظاهر — حيث لا تصل السمة

المظهر يملك عصا التوجيه، ووجوه الخانات السريعة، وحلقة العلامة الإرشادية، والشرائح، والهياكل المؤقتة، والتنبيهات، والفواصل، وعناوين الأقسام. اشتقّ منه صنفًا وتجاوز ما تريد تغييره فقط.

class_name MySkin extends GoSkin

func slot_box(accent: Color, lit: bool) -> StyleBox:
    var box := GoStyleBoxCut.new()
    box.bg_color = accent
    box.cut = 6.0
    box.edge_color = accent
    return box
الصنفالأشكال التي يصنعها
GoStyleBoxCutزوايا مقطوعة قطريًا (شطف)، وحافة تمييز واحدة أسمك، وتوهّج خارجي
GoStyleBoxBracketعلامات أركان فقط، دون إحاطة المحتوى
GoStyleBoxMedievalإطار مطروق بمسامير ونقش في الأركان وإبراز مشطوف وحبيبات مادة
GoStyleBoxJellyحلوى هلامية — حافة ممتلئة، وشفة صلبة تنخفض عند الضغط، وجسم أفتح في أعلاه، ولمعة بيضاء
GoStyleBoxComicإطار قصة مصوّرة — حدّ حبري عريض وظلّ ساقط حادّ، وكلاهما يضبط GoConfig حجمه أثناء تشغيل اللعبة
GoStyleBoxArcadeمفتاح أو لوح أركيد — جسم متدرّج ولمعة بيضاء وشفة تنخفض حين يُضغط وحدّ حبري؛ ويضيف اللوح إطارًا ملوّنًا سميكًا حول تجويف فاتح

الستة كلها تُسلسَل داخل مورد سمة — وهذا بالضبط ما يتيح للسمة أن تغيّر الشكل لا اللون وحده. وGoSkinSciFi وGoSkinMedieval وGoSkinMaterial وGoSkinKids وGoSkinComic وGoSkinArcade هي الأصناف المشتقّة المرفقة.

خانات سريعة وعصا توجيه وشريحة كما يرسمها كل مظهر مرفق — الافتراضي والأطفال وMaterial والعصور الوسطى والخيال العلمي
ما يرسمه المظهر — الافتراضي، الأطفال، Material، العصور الوسطى، الخيال العلمي
خانات سريعة وعصا توجيه وشريحة كما يرسمها مظهر القصص المصوّرة — حدود حبرية وظلال حادّة
…ومظهر القصص المصوّرة
خانات سريعة وعصا توجيه وشريحة كما يرسمها مظهر الأركيد — أغطية مفاتيح لامعة وقاعدة بأربعة أسهم
…ومظهر الأركيد
GoStyle.box() يعيد دائمًا StyleBoxFlat، لأن الكود المستدعي يستلمه ثم يعدّل bg_color أو corner_radius. استعمل GoStyle.surface() حين يجب أن يبقى شكل مخصّص على حاله.

الودجات

القطع كلها في جدول واحد. كل واحدة بالتفصيل ← · كل الودجات مع صورها ← · النوافذ المنبثقة ومربعات الحوار، الدليل الكامل ←

الصنفالأساسما الذي يفعله
GoSurfaceControlقشرة بطاقة عائمة — وضع في الوسط أو الأسفل أو مثبّت بجانب عنصر، ورأس وتذييل ثابتان، وجسم متمرر، وتغيير الحجم بالسحب
GoSheetCanvasLayerصفحات تصعد من الأسفل، على طبقتها الخاصة لتجلس فوق HUD
GoDialogsNodeتأكيدات وتنبيهات تنتظرها بـ await؛ وdestructive للإجراءات التي لا رجعة فيها
GoFormMarginContainerنماذج محدودة العرض تتفادى لوحة المفاتيح الافتراضية، وتتفادى HUD أيضًا مع avoid_hud
GoScrollScrollContainerتمرير باللمس؛ وشريط التمرير ينزوي داخل حشوة البطاقة
GoNoticePanelContainerشريط إشعار لا يأخذ لمسًا ولا تركيزًا
GoPromptCardPanelContainerسؤال لا يوقف اللعبة
GoCoachMarkControlجولة إرشادية تشير إلى عناصر تحكم حقيقية؛ والضغط على الهدف ينتقل بها
GoHudAnchorControlيثبّت قطع HUD في واحدة من تسع مواضع داخل المنطقة الآمنة
GoBarControlأشرطة الصحة والمانا والخبرة بتغيّر متدرّج ناعم
GoSlotButtonخانة سريعة — أيقونة وكمية ومهلة استعداد واختصار على وجه واحد
GoJoystickControlعصا افتراضية بوضع ثابت أو متابع أو نسبي
GoIconButtonButtonيبدو صغيرًا ويُضغط كبيرًا
GoStyleساكنأزرار وصفوف قوائم وحقول إدخال وشرائح وجداول وتبويبات وغيرها، تُصنع كلها بطريقة واحدة متسقة

الانتظار والإخبار والعدّ

الصنفالأساسما الذي يفعله
GoSnackbarNodeالرسالة التي تضع نفسها بنفسها
GoSpinnerControlانتظار لا تُرى نهايته
GoBadgePanelContainerنقطة غير المقروء، وعلامة «جديد»، والـ 99+

النماذج والقوائم

الصنفالأساسما الذي يفعله
GoFieldVBoxContainerالصفّ الذي قد يكون خاطئًا
GoInputGroupHBoxContainerإدخال ملحوم بزرّه
GoComboboxButtonمنتقٍ يبحث
GoCodeInputVBoxContainerرموز القسائم والهدايا
GoTableVBoxContainerرؤوس تُرتَّب وصفوف تُختار
GoPaginationHBoxContainerصفحات، أو صفّ «المزيد»

أشكال تستعملها الألعاب فعلًا

الصنفالأساسما الذي يفعله
GoRewardCalendarVBoxContainerالحضور اليومي
GoRadar · GoDonutControlالإحصاءات بنظرة
GoCarouselVBoxContainerاللافتات واختيار الشخصية
GoKbdHBoxContainerتلميحات مفاتيح لا تكذب

فوق الشاشة

الصنفالأساسما الذي يفعله
GoDrawerCanvasLayerاللوحة الجانبية
GoPopoverRefCountedالبطاقة المثبّتة
GoContextMenuRefCountedالضغط المطوَّل والنقر الأيمن
GoConsoleCanvasLayerوحدة تحكّم المطوّر

Go HUD Skill

يأتي gohud بمهارة ذكاء اصطناعي: واجهة البرمجة كاملة، وقوالب جاهزة للتشغيل، ومشغّل معاينة. الصق الكتلة أدناه في وكيل البرمجة لديك فيثبّت gohud ويعرف كيف يستخدمه.

Go HUD Skill

الوضوح يُقاس ولا يُقدَّر بالعين

"الجميل" مسألة ذوق، أما "الواضح" فيمكن قياسه. النص الرمادي الباهت يبدو جيدًا على شاشة جيدة ويختفي على هاتف في ضوء النهار — والاختيار بالعين يضمن وقوع ذلك عاجلًا أو آجلًا.

python3 addons/gohud/tools/check_contrast.py

كل زوج ألوان، ونصّ كل حالة من حالات الزر فوق اللوحة التي يجلس عليها، يُقاس وفق معايير WCAG في السمات الأربع عشرة جميعها. والألوان الشفافة تُركَّب أولًا فوق خلفيتها الحقيقية — فقياسها مباشرةً يعطي نسبة أفضل مما تُظهره الشاشة فعلًا.

ولذلك فألوان النصوص مشتقّة لا مختارة: يأخذ البنّاء مدخل لوحة الألوان نقطةَ انطلاق ثم يدفع إضاءته حتى تتجاوز العتبة على كل سطح قد تحطّ عليه. غيّر لوحة الألوان فيتبعها التباين. القواعد والمزالق التي وراءها ←

الفحوص والإصدارات وهذا الموقع

مدخل واحد يشغّل كل الفحوص؛ وكل جزء منها يرى ما لا يراه غيره.

bash addons/gohud/tools/check_all.sh
الفحصما الذي يلتقطه
run_tests.sh بأربعة مقاسات شاشةسلوك الودجات وتخطيطها، ومواضع RTL، وتركيز لوحة المفاتيح، وتباين المظهر أثناء التشغيل، وكل نمط جاهز
new_project_check.shاعتمادات خفية على مشروع مضيف؛ ومع --zip الإصدارَ كما يُشحن، ومع --export بناءً للويب
check_contrast.pyتباين WCAG في كل ملف سمة، بما في ذلك حالات الأزرار واللوحات الشفافة
check_generated.py · check_scaffold.shمطابقة السمات المولَّدة للوحات ألوانها؛ وبناء سمة مؤقتة ونجاحها في فحص التباين
check_package.pyالإصدار المأخوذ من package.json، ونقل سجل التغييرات، ومحتويات ملف ZIP، في نسخ مؤقتة
check_site.pyروابط هذا الموقع ومراسيه ولغة صفحاته ومسرد مصطلحاته وجداول مقابضه
آخر تشغيل مسجَّل — 2026-09-13، Godot 4.7.2، macOS، عارض Compatibility. 438 فحصًا من 438 بمقاسات 390×844 و844×390 و768×1024 و1280×800 في مشروع فارغ؛ ثم 438 من 438 مجددًا مع autoload باسم GoRuntime؛ وتصدير للويب؛ وصفر إخفاقات تباين عبر السمات الست. ولم يشمل هذا التشغيل أجهزة أندرويد أو iOS الحقيقية.

إصدارات النشر

cat addons/gohud/package.json       # { "version": "1.1.0" }
bash addons/gohud/tools/release.sh  # كل الفحوص ← ZIP ← ذلك الملف في مشروع فارغ
bash addons/gohud/tools/package.sh  # 1.1.0 → builds/1.1.0/gohud-1.1.0.zip

الإصدار هو المكتوب في package.json، والتحزيم لا يرفعه أبدًا. لنشر إصدار جديد غيّر هذا الرقم أولًا. التشغيل الناجح يضبط plugin.cfg وGoUi.VERSION على تلك القيمة، وفي أول تحزيم لذلك الإصدار فقط ينقل ملاحظات Unreleased في CHANGELOG.md إلى مدخل مؤرَّخ. وإعادة تحزيم الإصدار نفسه تبني ملف ZIP من جديد وتستبدل به القديم. والتشغيل الفاشل لا يغيّر شيئًا. وملف ZIP لا يحوي هذا الموقع ولا الاختبارات ولا الأدوات ولا package.json.

هذا الموقع

python3 addons/gohud/tools/make_site.py            # المسرد وجداول مقابض المظهر، مولَّدة من المصدر
python3 addons/gohud/tools/check_site.py           # الروابط والمراسي واللغة والمسرد والجداول المولَّدة
bash addons/gohud/tools/site_shots.sh /tmp/shots   # لقطات سطح مكتب وهاتف لكل صفحة

الصفحات ملفات HTML عادية في www/ — الإنجليزية في الجذر، والكورية في ko/. وسير عمل في GitHub Actions ينشر ذلك المجلد جذرًا للموقع.