برمجة الألعاب لالروبوت

برمجة الألعاب لالروبوت 11: أحداث المدخلات InputAdapter

42 فيديوهات

238 دقيقة

للعمل مع الأحداث المدخلات، libgdx لديه فئة تسمى InputProcessor. يتم التحكم في هذه الفئة عن طريق libgdx عند مدخل و وهي تعمل مثل ApplicationAdapter: إنه حدث الطبقة. نكتب رمز والسماح الأحداث libgdx الدعوة عندما تراه في الوقت المناسب. نحن لا تحقق إذا تم الضغط على أي مفتاح، والسماح لمن libgdx اعلامنا التي قمت الضغط على مفتاح.

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

المعالج على سبيل المثال. بلدي مساهمة المعالج يجب أن تنفذ InputProcessor. وهو واجهة، لذلك أنا مضطر لتنفيذ كل وسائلها. هناك الكثير من الطرق، وسوف نرى لهم تدريجيا. بعضها أسفل والبعض الآخر يصل. في الأسفل تستخدم عندما نبدأ في الاستفادة أو لمس الشاشة، ويتم استخدامها حتى عندما فشلنا في القيام بذلك. على سبيل المثال، keyDown هو الحدث الذي يقوم بتشغيل عندما بدأنا بالضغط على المفتاح، على سبيل المثال عندما كنا 'K'

وترك 'K' أسفل ولكن لا يفرج عن الإصبع. عندما تقوم بتحرير إصبعك keyUp اطلاق النار. حتى نتمكن من كشف عندما بدأنا الضغط والضغط. وهذا يمكن أن تساعد على جعل لعبة حيث كنت تريد الطابع الأمام أثناء الضغط على الزر الأيمن وعندما يتم تحريرها المحطة إلى الأمام. هنا نقول لكم على التحرك، وهنا نقول أن ينتهي. وبالمثل مع هبوط وtouchup يمكننا أن تفعل الشيء نفسه ولكن مع إصبعك.

يتم تشغيل هبوط عند الضغط على إصبعك، وعندما نهض touchup. لدينا وسائل أخرى مثيرة للاهتمام كما mouseMoved، الذي يروي لنا عندما يكون تحريك الماوس. مع هذا يمكننا أن comproabr إذا الماوس يتحرك. هذا لا يطلق في الهواتف النقالة لأنك لا تعرف من أين اصبعك آمن الذي لعبنا. لدينا البعض كما touchDragged للكشف عن أننا عندما سحب الماوس أو الإصبع على الشاشة، حتى نتمكن من متابعة

حركة أو جعل لفتة، أو أيا كان. أو keyTyped أن يكتشف عندما كنا النقر على الحرف، مثل A أو B. حتى أننا إذا أردنا كتابة الرسائل يمكننا الكشف عن أسرع. كما ترون لدينا الكثير من المعلمات، لذلك أنا لا ترغب في الحصول على ضرب معها لأن هناك الكثير، ولكن دعونا نبدأ بالنسبة لأولئك الذين لديهم علاقة مع لمسة، وهو ما يهمنا. أولا وقبل كل شيء سيقضي على هذا، ويصل إلى ويهمني التغيير

InputProcessor التي كتبها InputAdapter. لماذا؟ لأنه كما ApplicationAdapter، InputAdapter وأي محول فإنه هو ينفذ واجهة بالنسبة لنا، وهذا هو، وتبقى المعالج، ولكن لم تنفذ الأساليب أننا لن تنفذ، وهذا أمر مريح جدا. نحن نريد استخدام تتش داون، ثم نستخدمها. نحن نريد استخدام touchup، واستخدامها. لن نستخدم KeyDown و تركها هناك وعدم استخدامها.

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

أو الاتصال معالج آخر ... أننا سوف تجعل دائما متاحة على اللمس، أو مفتاح أو أينما كانوا بصدد القيام به، يجب أن نعود صحيح ل تشير libgdx أن ننتهي من عملية الحدث. هبوط وtouchup. لديهم أربعة معلمات هنا. كل من نفس البئر. screenY screenX واقول لكم حيث لعبنا. المؤشر، يشير إصبع كيف لعبنا. سوف أقول لكم مع ما الاصبع؟ نعم، لأن الهواتف كلها

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

في حالة سطح المكتب، إذا كان لدينا زر الماوس يعيدنا ما قمنا النقر على زر الماوس، كما كان اليسار أو اليمين. لاختبار هذا انا ذاهب الى القيام به هو يقول 'كنت لعبت في موقف (screenX، screenY)' و 'قد استخدمت الاصبع (المؤشر) وزر (زر)'. كما حاولت حدث لي في الطريق، والعودة الحقيقية فقط حتى تعرف لقد الأمور. الشيء الوحيد الذي بقي هو للتواصل مع اللعبة الرئيسية.

العثور على دورات جديدة، والاشتراك. لن يكون هناك غير المرغوبة، وعدت :)

عن المؤلف

foto de jotajotavm
José Javier Villena

السيرة الذاتية: محلل مبرمج في لغات مختلفة. منصات المعلم PREMIUM المعترف به عالميا باعتباره CodigoFacilito. مقالات رئيس التحرير Cristalab. ويرعى بلدي قناة يوتيوب من قبل الناشر ANAYA وLaTostadora. أود أن أشرح بالتفصيل وإعطاء أمثلة عديدة لتجنب الشك.