يشرح هذا الموضوع كيفية إتاحة أشكال وأحجام شاشات متعددة عند استخدام 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، عليك تنفيذ الخطوات التالية:
- حدد المشروع -> إعدادات المشروع... من شريط قوائم Godot.
- في نافذة إعدادات المشروع، ابحث عن قائمة العرض في علامة تبويب الفئة، ثم اختَر العنصر النافذة.
- ضمن فئة Size (الحجم)، اضبط حقلي العرض والارتفاع على درجة الدقة الأساسية المطلوبة كما يتم قياسها بالبكسل.
![إعدادات مشروع عرض وارتفاع Godot](https://developer.android.google.cn/static/images/games/engines/godot/Screens_BaseResolution.png?authuser=6&hl=ar)
عند تعيين محرر Godot على العرض الثنائي الأبعاد، سيعرض مستطيلاً إرشاديًا يقابل درجة الدقة الأساسية. يتم استخدام درجة الدقة الأساسية كالأبعاد الافتراضية لنافذة المشروع عند تشغيل مشروع أو مشهد من المحرر.
![مستطيل الدقة الأساسية في عرض ثنائي الأبعاد لمحرر Godot](https://developer.android.google.cn/static/images/games/engines/godot/Screens_2DGuide.png?authuser=6&hl=ar)
إعدادات التوسيع
يتحكّم إعدادان في كيفية ضبط درجة الدقة الأساسية عندما تختلف عن درجة دقة العرض: وضع المستطيل وتوسيع العرض. توجد هذه الإعدادات في نافذة Project Settings (إعدادات المشروع)، ضمن قسم Display -> window (الشاشة) -> النافذة.
![إعدادات مشروع إطالة Godot](https://developer.android.google.cn/static/images/games/engines/godot/Screens_Stretch.png?authuser=6&hl=ar)
يتضمن وضع التمدّد ثلاثة إعدادات: disabled
و2d
وviewport
. يتضمن القسم التالي أمثلة مرئية لمختلف إعدادات توسيع العرض ووضع
توسيع. تستخدم جميع الأمثلة درجة الدقة الأساسية للمشروع 320×180 بكسل.
لا يغيّر الإعداد disabled
حجم الدقة الأساسية أو لا يضبطها. يتم دائمًا تجاهل قيمة توسيع نطاق العرض في حال ضبط وضع تمديد على
disabled
.
![تم إيقاف وضع التمدّد بدقة عرض 320x180](https://developer.android.google.cn/static/images/games/engines/godot/Screens_disabled_320x180.png?authuser=6&hl=ar)
disabled
بدقة عرض 320x180إذا كانت درجة دقة العرض أقل من درجة الدقة الأساسية، سيتم اقتصاص الحواف السفلية و/أو اليمنى.
![تم إيقاف وضع التمدّد بدقة عرض 256x128](https://developer.android.google.cn/static/images/games/engines/godot/Screens_disabled_256x128.png?authuser=6&hl=ar)
disabled
بدقة عرض 256x128إذا كانت دقة العرض أكبر من درجة الدقة الأساسية، يتم ترك المنطقة الإضافية فارغة.
![تم إيقاف وضع التمدّد بدقة عرض 512x256](https://developer.android.google.cn/static/images/games/engines/godot/Screens_disabled_512x256.png?authuser=6&hl=ar)
disabled
بدقة عرض 512x256أما الإعداد 2d
، فيساعد في تغيير درجة الدقة الأساسية وفقًا لدرجة دقة العرض. بالنسبة إلى المشاريع التي تستخدم عملاً فنيًا ثنائي الأبعاد، قد يؤدي ذلك إلى تغيير حجم العناصر الفنية بسبب عدم توفُّر نسبة عرض إلى ارتفاع تبلغ 1:1 بكسل بين القاعدة ودرجة دقة العرض. قد يكون هذا الإعداد مناسبًا لبعض أنماط الأعمال الفنية العالية الدقة في المشاريع التي لا تتطلّب العرض المثالي بوحدات البكسل.
يحدد إعداد زيادة العرض إلى الارتفاع القيود المطبَّقة على التحجيم للحفاظ على نسبة العرض إلى الارتفاع لدرجة الدقة الأساسية. يتم وصف خيارات إعداد زيادة العرض إلى الارتفاع
في قسم نسبة العرض إلى الارتفاع. في ما يلي أمثلة على إعداد
2d
وضع تمديد باستخدام توسيع العرض إلى الارتفاع بقيمة ignore
، والذي
يتناسب مع درجة دقة العرض بدون أي قيود:
![وضع التمدّد ثنائي الأبعاد بدقة عرض 256x128](https://developer.android.google.cn/static/images/games/engines/godot/Screens_2d_256x128.png?authuser=6&hl=ar)
2d
بدقة عرض 256x128![وضع التمدّد ثنائي الأبعاد بدقة عرض 512x256](https://developer.android.google.cn/static/images/games/engines/godot/Screens_2d_512x256.png?authuser=6&hl=ar)
2d
بدقة عرض 512x256يؤدّي الإعداد viewport
إلى ضبط Viewport
للمشهد الجذر على درجة الدقة الأساسية.
ويتم بعد ذلك تغيير حجم الناتج المعروض للجذر Viewport
إلى درجة دقة العرض. تُستخدم عناصر Viewport
في Godot لإنشاء طرق عرض على الشاشة
أو إنشاء عروض فرعية داخل Viewport
أخرى. على عكس الإعداد 2d
، لا يطبّق الإعداد
viewport
أي فلاتر عند تغيير درجة دقة العرض. يستخدم الإعداد viewport
أيضًا قيمة توسيع العرض إلى الارتفاع لتحديد ما إذا كان سيتم تطبيق قيود على المقياس للحفاظ على نسبة العرض إلى الارتفاع. ويُعدّ الإعداد viewport
اختيارًا أفضل من الإعداد 2d
عندما يكون
الدقة المثالية للبكسل مطلوبًا، لأنّ العرض الأساسي ما زال يحدث
بالدقة الأساسية. في ما يلي أمثلة على إعداد viewport
وضع التمدّد باستخدام توسيع العرض على القيمة ignore
:
![إطار عرض وضع توسيع النص بدقة عرض 256x128](https://developer.android.google.cn/static/images/games/engines/godot/Screens_viewport_256x128.png?authuser=6&hl=ar)
viewport
بدقة عرض 256x128![إطار عرض وضع توسيع النص بدقة عرض 512×256](https://developer.android.google.cn/static/images/games/engines/godot/Screens_viewport_512x256.png?authuser=6&hl=ar)
viewport
بدقة عرض 512x256نسبة العرض إلى الارتفاع
تتوفر خيارات متعددة في خيار زيادة العرض إلى الارتفاع لقيود قياس نسبة العرض إلى الارتفاع. في حال ضبط زيادة العرض إلى الارتفاع على ignore
، لن يتم تطبيق أي قيود. عند ضبط زيادة العرض إلى الارتفاع على keep
، يتم ضبط درجة الدقة الأساسية على أكبر الأبعاد الممكنة التي تتناسب مع درجة دقة العرض مع الحفاظ على نسبة العرض إلى الارتفاع الأصلية. تتم تعبئة مناطق الشاشة التي لا تغطيها
الصورة التي تم تحجيمها بأشرطة سوداء. اعتمادًا على البعد السائد لفرق نسبة العرض إلى الارتفاع، ستكون الأشرطة إما أشرطة أفقية تُعرف باسم
الأشرطة الأفقية أو الأشرطة العمودية المعروفة باسم "الأعمدة.
![إطار عرض لوضع الاستبقاء، مع الاحتفاظ بالعرض الموسّع، بدقة عرض 384x256](https://developer.android.google.cn/static/images/games/engines/godot/Screens_viewport_letter_384x256.png?authuser=6&hl=ar)
viewport
، زيادة العرض إلى الارتفاع keep
، بدقة عرض 384×256![إطار عرض لوضع الاستحمام، مع الاحتفاظ بالعرض الموسّع، بدقة عرض 512x200](https://developer.android.google.cn/static/images/games/engines/godot/Screens_viewport_pillar_512x200.png?authuser=6&hl=ar)
viewport
، زيادة العرض إلى الارتفاع keep
، بدقة عرض 512×200يشمل توسيع نطاق العرض صيغتين مختلفتين من إعداد keep
: keep_width
وkeep_height
. عند ضبط keep_width
، تتم إضافة شريط عمودي إذا كانت درجة دقة العرض أكبر من نسبة العرض إلى الارتفاع الأساسية. ومع ذلك، إذا كانت نسبة العرض إلى الارتفاع لدقة العرض أطول من درجة الدقة الأساسية، يتم ترك المساحة الإضافية فارغة. تملأ المنطقة الفارغة الجزء السفلي من الشاشة.
![إطار عرض وضع التمديد، عرض بأبعاد Keep_width، بدقة عرض 512x384](https://developer.android.google.cn/static/images/games/engines/godot/Screens_viewport_keep_width_512x384.png?authuser=6&hl=ar)
viewport
، زيادة العرض إلى الارتفاع keep_width
، بدقة عرض 512x384يعمل الإعداد keep_height
في الاتجاه الأفقي بدلاً من
الاتجاه الرأسي. تملأ المنطقة الفارغة الجانب الأيمن من الشاشة.
![إطار عرض وضع التمدّد، وضع تمديد حجم keep_height، بدقة عرض 512x200](https://developer.android.google.cn/static/images/games/engines/godot/Screens_viewport_keep_height_512x200.png?authuser=6&hl=ar)
viewport
، زيادة العرض إلى الارتفاع keep_height
، بدقة عرض 512×200الإعداد الأخير لزيادة العرض إلى الارتفاع هو expand
. يحافظ إعداد expand
على نسبة العرض إلى الارتفاع لدرجة الدقة الأساسية، ولكنّه يترك المنطقة الزائدة فارغة بدلاً من المحتوى المُعدّ للعرض على شاشة عريضة أفقيًا أو عموديًا.
![إطار عرض وضع الاستنشاق، مع إمكانية توسيع العرض الموسّع، بدقة عرض 384x256](https://developer.android.google.cn/static/images/games/engines/godot/Screens_expand_384x256.png?authuser=6&hl=ar)
viewport
، زيادة العرض إلى الارتفاع expand
، بدقة عرض 384×256![إطار عرض وضع الاستنشاق، توسيع العرض الموسّع، بدقة عرض 512x256](https://developer.android.google.cn/static/images/games/engines/godot/Screens_expand_512x256.png?authuser=6&hl=ar)
viewport
، زيادة العرض إلى الارتفاع expand
، بدقة عرض 512x256علامات ارتساء
يتطلب تحديد موضع عناصر واجهة المستخدم اعتبارات إضافية عند دعم درجات دقة الشاشة المتعددة. على سبيل المثال، يؤدي استخدام الإحداثيات المطلقة لوحدات البكسل لوضع عنصر تحكم في الزاوية العلوية اليمنى إلى عدم اتساق الموضع على الأجهزة ذات درجات الدقة الأفقية المختلفة. يتيح نظام واجهة مستخدم Godot
الموضع النسبي باستخدام السمتَين Anchor
وMargin
. تحدّد خصائص Anchor
لعنصر واجهة المستخدم نقطة ارتساء في عنصر التحكم الرئيسي أو إطار العرض. ويتم بعد ذلك استخدام القيم من سمات Margin
لإزاحة عنصر التحكّم
في ما يتعلّق بنقطة الارتساء الخاصة به.
يجب أن يشتق الكائن من كائن Control
Godot إذا كان يتضمّن السمتَين
Anchor
وMargin
. تُستمَد كل عناصر واجهة المستخدم العادية في Godot من
Control
. تظهر حقول المواقع الإلكترونية لـ Anchor
والهامش في علامة التبويب Inspector
عند اختيار عنصر مشتق Control
في محرِّر Godot.
![عنصر تحكّم في زر محدّد مع ظهور خصائص الارتساء والهامش في أداة الفحص](https://developer.android.google.cn/static/images/games/engines/godot/Screens_anchor.png?authuser=6&hl=ar)
Button
، مع ظهور سمتَي الارتساء والهامش في أداة الفحص.يمتلك Godot أداة تنسيق يمكنها ضبط الخصائص Anchor
وMargin
وSize
بسرعة
على قيم مُعدَّة مسبقًا شائعة الاستخدام. عند اختيار كائن Control
مشتق في المحرر، تتوفر القائمة المنسدلة التنسيق في شريط الأدوات أعلى عرض المشهد. تشتمل الإعدادات المسبقة لأداة التنسيق على تحديد الموضع
والموضع جنبًا إلى جنب مع الحجم. تتوافق الإعدادات المسبقة لتحديد الموضع مع حالات الاستخدام
مثل: التوسيط، والتثبيت إلى أعلى اليمين، والارتساء إلى وسط اليسار. تشمل الإعدادات المسبقة لتحديد الموضع بالإضافة إلى الحجم حالات استخدام مثل التثبيت في الأسفل مع التوسّع في العرض الرئيسي بالكامل.
![القائمة المنسدلة لتخطيط محرر Godot](https://developer.android.google.cn/static/images/games/engines/godot/Screens_layout_menu.png?authuser=6&hl=ar)
تكون علامات الارتساء مناسبة لحالات الاستخدام الشائعة مثل شاشات الرأس أو رسائل المطالبة على الشاشة أو مربعات الحوار الأساسية. تم تصميم نظام حاوية Godot لتصاميم واجهة المستخدم الأكثر تعقيدًا، على سبيل المثال، عند عرض النوافذ أو مربّعات الحوار التي تتضمن عددًا كبيرًا من عناصر التحكّم أو تغيير حجم المحتوى ديناميكيًا.
حقل العرض
يحتوي Godot على إعدادات مجال الرؤية التي تتحكم في عرض المشهد الثلاثي الأبعاد
بنسب عرض إلى ارتفاع مختلفة. يتم التحكّم في تعديلات حقل الملف الشخصي باستخدام السمة Keep
Aspect
للعنصر Camera
. إنّ القيمة التلقائية للسمة Keep Height
مخصّصة
للمشاريع التي يتم تشغيلها في اتجاه أفقي. ويتم ضبط Keep Height
على مجال عرض أوسع أو أضيق عندما تختلف نِسَب العرض إلى الارتفاع للدقة الأساسية ودرجة دقة العرض. يُعدّ الإعداد Keep Width
الخيار الأفضل للمشاريع التي يتم تشغيلها في الاتجاه العمودي. يتم ضبط Keep Width
على مجال رؤية أطول أو أقصر استنادًا إلى الفرق في نسبة العرض إلى الارتفاع.
عنصر تحكّم في إطار العرض
تتيح عناصر Viewport
التحكّم بدقة في نسبة العرض إلى الارتفاع والضبط.
يمكن للمشروعات استخدام إطارات العرض لتنفيذ عمليات، مثل:
- عرض مشهد بنسبة العرض إلى الارتفاع الأساسية مع حد مستقل للدقة.
- عرض مشهد ثلاثي الأبعاد بدقة منخفضة لتحسين الأداء وعرضه بشكل مرتفع إلى الدقة الأصلية
- عرض مشهد بالعينين اليسرى واليمنى لتطبيقات الواقع الافتراضي.
- جارٍ إنشاء زخارف ديناميكية.
بالنسبة إلى النماذج التي توضّح كيفية استخدام كائن "إطار العرض"، يمكنك الاطّلاع على نماذج إطار عرض Godot.
إدخال المستخدم
بعض تصميمات الألعاب غير متوافقة مع كل وضع إدخال للإدخال الذي يدعمه Android. غالبًا ما تواجه الألعاب التي تتيح إيماءات اللمس المتعدد مشاكل في إضافة إمكانية الإدخال باستخدام الماوس ووحدة التحكم في الألعاب. قد تواجه الألعاب التي تعتمد على إدخال وحدات التحكم في الألعاب صعوبة في تنفيذ عناصر فعالة باللمس. يدعم Godot كل أشكال المدخلات هذه، ولكن يجب أن تقرر مبكرًا أثناء التطوير طرق الإدخال التي تنوي استخدامها في مشروعك والتصميم وفقًا لذلك.
بالنسبة إلى المشروعات التي يكون فيها الإدخال باللمس والماوس قابلاً للتبديل، يتضمّن Godot خيارات الخادم الوكيل التي تنشئ أحداث لمس تمت محاكاتها من أحداث الماوس والعكس صحيح. تلغي هذه الخيارات الحاجة إلى كتابة رمز معالجة إدخال منفصل لأحداث الماوس واللمس والخيارات المتاحة هي: محاكاة اللمس من الماوس ومحاكاة الماوس عن طريق اللمس. يمكنك العثور على كلا الخيارين في إعدادات المشروع ضمن قسم أجهزة الإدخال -> التأشير.
![إعدادات مشروع Godot لأجهزة الإدخال](https://developer.android.google.cn/static/images/games/engines/godot/Screens_input.png?authuser=6&hl=ar)
مراجع إضافية
- مستندات Godot - الحجم وعلامات الارتساء
- مستندات Godot - إطارات العرض
- الأسئلة الشائعة عن Godot - درجات دقة متعدّدة
- نموذج Godot - ضبط حجم إطار العرض الثلاثي الأبعاد
- برنامج Godot التعليمي - الحاويات
- برنامج Godot التعليمي - درجات دقة متعددة