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

برمجة الألعاب لالروبوت 35: مربع 2D و 2D المشهد الجزء 5

42 فيديوهات

238 دقيقة

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

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

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

لذلك سأحاول أن أكتب من وسائل الدعم للحد من المنطق في الكتابة. سأكتب طريقة للتحقق مما إذا كانت قد اصطدمت في اتصال فاعل مع UserData معين،. وفاعل مع معينة UserData، ب. مع هذا، فمن الأسهل لكتابة كل شيء في ذلك الوقت. سيكون هناك صدمت إذا، أو، لاعبا اساسيا لديه UserData UserData يساوي ألف وباء لديه لاعبا UserData التي تساوي UserData باء؛ أو إذا كان لاعبا من لديه UserData

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

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

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

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

مع هذا استدار ذلك كل شيء كان علينا القيام به سابقا مع Box2D إلى ما كان علينا القيام به من قبل في Scene2D. يمكنك الحفاظ على القفز أمواتا؟ أن لا مصلحة لي، حقا. سأقدم القفزة الوحيد إذا كنت لم يمت، لأنه إذا لم يكن كما لا. مع هذا نحن الانتهاء من ترقية اللعبة Box2D لScene2D حتى نتمكن من القيام بذلك. وسنحسن اللعبة الآن أننا قد انتهى.

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

عن المؤلف

foto de jotajotavm
José Javier Villena

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