تتبع المطابع كحالة، وليس أحداث الحركة المتكررة
عند وقوع keydown، أضف المفتاح المعني إلى مجموعة؛ واقرأ هذه المجموعة في كل خطوة تحديث لتحديد الحركة. وعند وقوع keyup، احذف المفتاح منها. يؤدي هذا إلى تجنب التعامل مع أحداث تكرار مفتاح نظام التشغيل على أنها ساعة حركة اللعبة. تجاهل أيضًا الضغط الثاني للمفتاح الذي تم الاحتفاظ به بالفعل عندما يجب أن يبدأ الإجراء مرة واحدة فقط، مثل إطلاق طلقة واحدة مشحونة. توضح MDN أن الضغط على المفتاح يمكن أن يؤدي إلى أحداث متكررة، ويمكن لـ KeyboardEvent.repeat التعرف على تلك الأحداث المتكررة في المتصفحات المدعومة.
اختر المفاتيح التي تعتبر عناصر تحكم في اللعبة واترك الحقول النصية بمفردها. إذا تم التركيز على حقل المطالبة أو حقل إدخال الاسم، فيجب ألا تستهلك معالجات الحركة نفس الأحرف. منع الإعدادات الافتراضية للمتصفح مثل تمرير الصفحة فقط لعناصر التحكم التي تحتاج حقًا إلى هذا السلوك، واستعادة سلوك الصفحة الطبيعي عندما يخرج اللاعب من منطقة اللعبة.
قم بمسح المجموعة الخاصة بالمقاطعة وتغييرات الحالة
قم بمسح المدخلات المعلقة عندما تصبح النافذة غير واضحة، أو يصبح المستند مخفيًا، أو يتولى الإيقاف المؤقت التراكب السيطرة، أو تتم إعادة ضبط التشغيل. يمكن لمعالج تغيير الرؤية التحقق من document.hidden ومسح المجموعة عندما تصبح صحيحة. لا تقم بالمسح بشكل أعمى في كل إطار أو حركة المؤشر؛ ربط المقاصة بالمقاطعة حيث قد لا يصل مفتاح. اجعل اللعبة تتطلب مفتاحًا جديدًا بعد الاستئناف بدلاً من استئناف الحركة القديمة تلقائيًا.
إعادة إنتاج مسارات المقاطعة
اضغط مع الاستمرار على مفتاح الاتجاه إلى اليسار وبدّل علامات التبويب، واضغط مع الاستمرار على زر القفز وافتح القائمة، واضغط على الاتجاه أثناء حدوث إعادة التشغيل. عند العودة للعب، تأكد من بقاء الشخصية ثابتة حتى يتم الضغط عليها مرة أخرى. كرر ذلك باستخدام مفتاحين متزامنين، مثل اليمين والقفز، وتأكد من أن مسح أحد المفاتيح لا يترك الآخر مغلقًا. قم بتضمين تغييرات تركيز لوحة المفاتيح بين عناصر التحكم في اللعبة وإدخال النص.
أسئلة عن منع المفاتيح العالقة في ألعاب المتصفح
لماذا يمكن أن يظل المفتاح معلقًا بعد أن أقوم بتحريره؟
قد لا تتلقى اللعبة أو تعالج المفتاح المطابق عندما يتغير التركيز أو يتولى التراكب التحكم. إعادة ضبط الحالة المعلقة على مسارات الانقطاع هذه تتيح للاعب استئناف اللعب دون إدخال عالق.
هل ينبغي لتكرار ضغط المفتاح أن يتحكم في حركة الشخصية؟
للحركة المستمرة، قم بتتبع حالة الثبات وتحديث حركة الشخصية في حلقة اللعبة. يعد التكرار أكثر فائدة لتمييز أحداث الضغط المتكررة عن الضغطة الأولية عندما يجب أن يحدث الإجراء مرة واحدة.
للمزيد من القراءة
هل لاحظت معلومة قديمة؟ الإبلاغ عن تصحيح