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

برمجة الألعاب لالروبوت 15: إنشاء المرحلة

42 فيديوهات

238 دقيقة

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

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

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

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

هناك ال SpriteBatch في الداخل)، أود أن ألفت ... وأبسط هذه الطرق هي 'المرحلة المرحلة = جديد ()' بحيث إخفاء () يمكن أن تفعل Stage.dispose (). ويتساءل البعض لأنني وصول الى اخفاء () وليس التصرف (). ذلك لأن في كل مرة أدعو المعرض ()، تخيل أن ترك القائمة أو أذهب إلى قائمة البداية، لعبة، جئت بها ... في كل مرة أعود أنا سوف مثيل كائن جديد من نوع المرحلة. إذا كنت تفعل ببساطة

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

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

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

لنا على الشاشة. يجب أن نقول لهم بالتحرك بشكل دوري للذهاب تتحرك نحونا. مع الفعل (طريقة) يمكن أن نحصل عليه للقيام بذلك. ونحن نقول ان في كل تكرار لطريقة عمل () للتحرك قليلا إلى اليسار ودعوة إلى العمل () يتعامل مع هذا. كما هو غير مريح ننسى، وأنا سوف تجعل الدعوة إلى GL_CLEAR، والآن سوف تجعل الدعوة إلى ClearColor، لأنني سوف تأتي في متناول اليدين

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

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

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

عن المؤلف

foto de jotajotavm
José Javier Villena

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