# استجب للدوران مع الحفاظ على دقة الإدخال

> اجعل اللعب قابلاً للقراءة عندما يدور الجهاز عن طريق إعادة حساب التخطيط ورسم خرائط الإدخال دون التعامل مع الاتجاه باعتباره إعادة تشغيل للعبة.

- URL: https://oneshotgems.ai/ar/topics/game-orientation-changes
- الفئة: لمطوري الألعاب
- النوع: دليل
- آخر تحديث: 5 أكتوبر 2026

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

## اختر سياسة للتخطيط

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

استخدم استعلامات الوسائط في CSS لقرارات التخطيط المرتبطة باتجاه إطار العرض. استمع إلى تغييرات ScreenOrientation فقط إذا احتاج البرنامج إلى معرفة الاتجاه؛ ولا تعتمد على الحدث المهمل window.orientationchange. ينبغي أن يكون قفل الاتجاه حاجة مقصودة مع بديل واضح، لا حيلة لتفادي اختبار التخطيط.

## أعد حساب تحويل الإحداثيات

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

اختبر الدوران قبل بدء اللعب وأثناء السحب وعند فتح القوائم. تحقق من أن تغيير الحجم لا يبدأ جلسة جديدة وأن عناصر التحكم تظل متاحة. توثق MDN أحداث تغيير ScreenOrientation وقفل الاتجاه؛ استخدمها عند الحاجة وتحقق مما إذا كان الجهاز يسمح بالقفل.

## أسئلة

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

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

## اتبع فضولك

- [إنشاء تخطيطات متجاوبة لألعاب المتصفح](https://oneshotgems.ai/ar/topics/responsive-game-layouts): قم بتكييف سطح اللعبة مع حاويتها دون ربط حالة المحاكاة بأبعاد الشاشة، واختبر التخطيط عبر إطارات العرض المتغيرة.
- [اختبار إدخال لعبة المتصفح عبر الأجهزة](https://oneshotgems.ai/ar/topics/testing-game-input-devices): أنشئ مصفوفة اختبار إدخال صغيرة تغطي سلوك اللمس الحقيقي والماوس ولوحة المفاتيح والتوجيه بدلاً من الاعتماد على جلسة سطح مكتب واحدة.
- [صمّم لعبة للهواتف بوضع رأسي](https://oneshotgems.ai/ar/topics/portrait-mobile-game-design): قم بتشكيل لعبة عمودية أولاً حول ساحة لعب واحدة واضحة وحالة قابلة للقراءة وتغيير إطارات عرض الهاتف قبل إضافة محتوى أو دعم أفقي.

## للمزيد من القراءة

- [MDN: إدارة اتجاه الشاشة](https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Managing_screen_orientation)
- [MDN: حدث تغيير اتجاه الشاشة](https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/change_event)

---
الصفحة الأساسية: https://oneshotgems.ai/ar/topics/game-orientation-changes
