إمكانية استخدام أشكال الأجهزة وأحجامها المتعددة

يشرح هذا الموضوع كيفية إتاحة أشكال وأحجام شاشات متعددة عند استخدام Godot لتطوير الألعاب على نظام التشغيل Android.

هناك مجموعة متنوعة من أشكال الأجهزة وأحجام الشاشات على أجهزة Android. وتشمل الفئات الشائعة ما يلي:

  • هواتف جوّالة
  • الأجهزة اللوحية
  • أجهزة التلفزيون وأجهزة الاستقبال الرقمية
  • أجهزة الكمبيوتر المحمولة التي تعمل بنظام التشغيل Android في Chrome

يعني هذا التنوع أن اللعبة سيكون لها مجموعة كبيرة من درجات دقة الشاشة المختلفة. غالبًا ما يكون لدرجات الدقة هذه للشاشة نِسب عرض إلى ارتفاع مختلفة. على سبيل المثال:

  • هاتف في الاتجاه الأفقي بنسبة عرض إلى ارتفاع تبلغ 19:9 (2280×1080)
  • هاتف مختلف في الاتجاه الأفقي بنسبة عرض إلى ارتفاع تبلغ 20:9 (3200×1400)
  • تلفزيون عالي الدقة 1080p ونسبة عرض إلى ارتفاع تبلغ 16:9 (1920×1080)
  • جهاز لوحي بنسبة عرض إلى ارتفاع 4:3 (2048×1536)

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

درجة دقة الشاشة

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

ضبط درجة الدقة الأساسية

لضبط درجة دقة أساسية لمشروع عندما يكون المشروع مفتوحًا في محرِّر Godot، عليك تنفيذ الخطوات التالية:

  1. حدد المشروع -> إعدادات المشروع... من شريط قوائم Godot.
  2. في نافذة إعدادات المشروع، ابحث عن قائمة العرض في علامة تبويب الفئة، ثم اختَر العنصر النافذة.
  3. ضمن فئة Size (الحجم)، اضبط حقلي العرض والارتفاع على درجة الدقة الأساسية المطلوبة كما يتم قياسها بالبكسل.
إعدادات مشروع عرض وارتفاع Godot
الشكل 1. حقلا العرض والارتفاع في إعدادات المشروع

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

مستطيل الدقة الأساسية في عرض ثنائي الأبعاد لمحرر Godot
الشكل 2. مستطيل الدقة الأساسية في محرر Godot العرض الثنائي الأبعاد مع ضبط درجة الدقة الأساسية على 640×360 بكسل

إعدادات التوسيع

يتحكّم إعدادان في كيفية ضبط درجة الدقة الأساسية عندما تختلف عن درجة دقة العرض: وضع المستطيل وتوسيع العرض. توجد هذه الإعدادات في نافذة Project Settings (إعدادات المشروع)، ضمن قسم Display -> window (الشاشة) -> النافذة.

إعدادات مشروع إطالة Godot
الشكل 3. الحقلان وضع توسيع وتوسيع العرض في إعدادات المشروع

يتضمن وضع التمدّد ثلاثة إعدادات: disabled و2d وviewport. يتضمن القسم التالي أمثلة مرئية لمختلف إعدادات توسيع العرض ووضع توسيع. تستخدم جميع الأمثلة درجة الدقة الأساسية للمشروع 320×180 بكسل.

لا يغيّر الإعداد disabled حجم الدقة الأساسية أو لا يضبطها. يتم دائمًا تجاهل قيمة توسيع نطاق العرض في حال ضبط وضع تمديد على disabled.

تم إيقاف وضع التمدّد بدقة عرض 320x180
الشكل 4. وضع تكبير الصورة disabled بدقة عرض 320x180

إذا كانت درجة دقة العرض أقل من درجة الدقة الأساسية، سيتم اقتصاص الحواف السفلية و/أو اليمنى.

تم إيقاف وضع التمدّد بدقة عرض 256x128
الشكل 5. وضع التصغير disabled بدقة عرض 256x128

إذا كانت دقة العرض أكبر من درجة الدقة الأساسية، يتم ترك المنطقة الإضافية فارغة.

تم إيقاف وضع التمدّد بدقة عرض 512x256
الشكل 6. وضع تكبير الصورة disabled بدقة عرض 512x256

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

يحدد إعداد زيادة العرض إلى الارتفاع القيود المطبَّقة على التحجيم للحفاظ على نسبة العرض إلى الارتفاع لدرجة الدقة الأساسية. يتم وصف خيارات إعداد زيادة العرض إلى الارتفاع في قسم نسبة العرض إلى الارتفاع. في ما يلي أمثلة على إعداد 2d وضع تمديد باستخدام توسيع العرض إلى الارتفاع بقيمة ignore، والذي يتناسب مع درجة دقة العرض بدون أي قيود:

وضع التمدّد ثنائي الأبعاد بدقة عرض 256x128
الشكل 7. وضع التمدّد 2d بدقة عرض 256x128
وضع التمدّد ثنائي الأبعاد بدقة عرض 512x256
الشكل 8. وضع تكبير الصورة 2d بدقة عرض 512x256

يؤدّي الإعداد viewport إلى ضبط Viewport للمشهد الجذر على درجة الدقة الأساسية. ويتم بعد ذلك تغيير حجم الناتج المعروض للجذر Viewport إلى درجة دقة العرض. تُستخدم عناصر Viewport في Godot لإنشاء طرق عرض على الشاشة أو إنشاء عروض فرعية داخل Viewport أخرى. على عكس الإعداد 2d، لا يطبّق الإعداد viewport أي فلاتر عند تغيير درجة دقة العرض. يستخدم الإعداد viewport أيضًا قيمة توسيع العرض إلى الارتفاع لتحديد ما إذا كان سيتم تطبيق قيود على المقياس للحفاظ على نسبة العرض إلى الارتفاع. ويُعدّ الإعداد viewport اختيارًا أفضل من الإعداد 2d عندما يكون الدقة المثالية للبكسل مطلوبًا، لأنّ العرض الأساسي ما زال يحدث بالدقة الأساسية. في ما يلي أمثلة على إعداد viewport وضع التمدّد باستخدام توسيع العرض على القيمة ignore:

إطار عرض وضع توسيع النص بدقة عرض 256x128
الشكل 9. وضع التمدّد viewport بدقة عرض 256x128
إطار عرض وضع توسيع النص بدقة عرض 512×256
الشكل 10. وضع تكبير الصورة viewport بدقة عرض 512x256

نسبة العرض إلى الارتفاع

تتوفر خيارات متعددة في خيار زيادة العرض إلى الارتفاع لقيود قياس نسبة العرض إلى الارتفاع. في حال ضبط زيادة العرض إلى الارتفاع على ignore، لن يتم تطبيق أي قيود. عند ضبط زيادة العرض إلى الارتفاع على keep، يتم ضبط درجة الدقة الأساسية على أكبر الأبعاد الممكنة التي تتناسب مع درجة دقة العرض مع الحفاظ على نسبة العرض إلى الارتفاع الأصلية. تتم تعبئة مناطق الشاشة التي لا تغطيها الصورة التي تم تحجيمها بأشرطة سوداء. اعتمادًا على البعد السائد لفرق نسبة العرض إلى الارتفاع، ستكون الأشرطة إما أشرطة أفقية تُعرف باسم الأشرطة الأفقية أو الأشرطة العمودية المعروفة باسم "الأعمدة.

إطار عرض لوضع الاستبقاء، مع الاحتفاظ بالعرض الموسّع، بدقة عرض 384x256
الشكل 11. وضع المستطيل viewport، زيادة العرض إلى الارتفاع keep، بدقة عرض 384×256
إطار عرض لوضع الاستحمام، مع الاحتفاظ بالعرض الموسّع، بدقة عرض 512x200
الشكل 12. وضع تمديد الإعلانات viewport، زيادة العرض إلى الارتفاع keep، بدقة عرض 512×200

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

إطار عرض وضع التمديد، عرض بأبعاد Keep_width، بدقة عرض 512x384
الشكل 13. وضع تمديد الإعلانات viewport، زيادة العرض إلى الارتفاع keep_width، بدقة عرض 512x384

يعمل الإعداد keep_height في الاتجاه الأفقي بدلاً من الاتجاه الرأسي. تملأ المنطقة الفارغة الجانب الأيمن من الشاشة.

إطار عرض وضع التمدّد، وضع تمديد حجم keep_height، بدقة عرض 512x200
الشكل 14. وضع تمديد الإعلانات viewport، زيادة العرض إلى الارتفاع keep_height، بدقة عرض 512×200

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

إطار عرض وضع الاستنشاق، مع إمكانية توسيع العرض الموسّع، بدقة عرض 384x256
الشكل 15. وضع التوسعة viewport، زيادة العرض إلى الارتفاع expand، بدقة عرض 384×256
إطار عرض وضع الاستنشاق، توسيع العرض الموسّع، بدقة عرض 512x256
الشكل 16. وضع تمديد الإعلانات viewport، زيادة العرض إلى الارتفاع expand، بدقة عرض 512x256

علامات ارتساء

يتطلب تحديد موضع عناصر واجهة المستخدم اعتبارات إضافية عند دعم درجات دقة الشاشة المتعددة. على سبيل المثال، يؤدي استخدام الإحداثيات المطلقة لوحدات البكسل لوضع عنصر تحكم في الزاوية العلوية اليمنى إلى عدم اتساق الموضع على الأجهزة ذات درجات الدقة الأفقية المختلفة. يتيح نظام واجهة مستخدم Godot الموضع النسبي باستخدام السمتَين Anchor وMargin. تحدّد خصائص Anchor لعنصر واجهة المستخدم نقطة ارتساء في عنصر التحكم الرئيسي أو إطار العرض. ويتم بعد ذلك استخدام القيم من سمات Margin لإزاحة عنصر التحكّم في ما يتعلّق بنقطة الارتساء الخاصة به.

يجب أن يشتق الكائن من كائن Control Godot إذا كان يتضمّن السمتَين Anchor وMargin. تُستمَد كل عناصر واجهة المستخدم العادية في Godot من Control. تظهر حقول المواقع الإلكترونية لـ Anchor والهامش في علامة التبويب Inspector عند اختيار عنصر مشتق Control في محرِّر Godot.

عنصر تحكّم في زر محدّد مع ظهور خصائص الارتساء والهامش في أداة الفحص
الشكل 17. تم اختيار عنصر تحكّم Button، مع ظهور سمتَي الارتساء والهامش في أداة الفحص.

يمتلك Godot أداة تنسيق يمكنها ضبط الخصائص Anchor وMargin وSize بسرعة على قيم مُعدَّة مسبقًا شائعة الاستخدام. عند اختيار كائن Control مشتق في المحرر، تتوفر القائمة المنسدلة التنسيق في شريط الأدوات أعلى عرض المشهد. تشتمل الإعدادات المسبقة لأداة التنسيق على تحديد الموضع والموضع جنبًا إلى جنب مع الحجم. تتوافق الإعدادات المسبقة لتحديد الموضع مع حالات الاستخدام مثل: التوسيط، والتثبيت إلى أعلى اليمين، والارتساء إلى وسط اليسار. تشمل الإعدادات المسبقة لتحديد الموضع بالإضافة إلى الحجم حالات استخدام مثل التثبيت في الأسفل مع التوسّع في العرض الرئيسي بالكامل.

القائمة المنسدلة لتخطيط محرر Godot
الشكل 18. القائمة المنسدلة التنسيق في محرّر Godot

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

حقل العرض

يحتوي Godot على إعدادات مجال الرؤية التي تتحكم في عرض المشهد الثلاثي الأبعاد بنسب عرض إلى ارتفاع مختلفة. يتم التحكّم في تعديلات حقل الملف الشخصي باستخدام السمة Keep Aspect للعنصر Camera. إنّ القيمة التلقائية للسمة Keep Height مخصّصة للمشاريع التي يتم تشغيلها في اتجاه أفقي. ويتم ضبط Keep Height على مجال عرض أوسع أو أضيق عندما تختلف نِسَب العرض إلى الارتفاع للدقة الأساسية ودرجة دقة العرض. يُعدّ الإعداد Keep Width الخيار الأفضل للمشاريع التي يتم تشغيلها في الاتجاه العمودي. يتم ضبط Keep Width على مجال رؤية أطول أو أقصر استنادًا إلى الفرق في نسبة العرض إلى الارتفاع.

عنصر تحكّم في إطار العرض

تتيح عناصر Viewport التحكّم بدقة في نسبة العرض إلى الارتفاع والضبط. يمكن للمشروعات استخدام إطارات العرض لتنفيذ عمليات، مثل:

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

بالنسبة إلى النماذج التي توضّح كيفية استخدام كائن "إطار العرض"، يمكنك الاطّلاع على نماذج إطار عرض Godot.

إدخال المستخدم

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

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

إعدادات مشروع Godot لأجهزة الإدخال
الشكل 19. إعدادات أجهزة الإدخال -> الإشارة في إعدادات المشروع

مراجع إضافية