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

برمجة الألعاب لالروبوت 17: رسم ممثل

42 فيديوهات

238 دقيقة

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

لدي لاظهار صورة على الشاشة ويجب توجيه الاتهام له في مرحلة ما ... كيف هذا الاتهام؟ الحل الأول، الذي لا يجب أن يكون أفضل. ActorJugador دائما تظهر مثيل فئة ()، أي عندما افترضنا بدء أن libgdx. يمكن أن نحاول نسيج خلق نوع الحقل ضمن ActorJugador، وسنضع في منشئ لتحميل الملمس. على سبيل المثال، لاعب = نسيج جديد ( 'minijoe.png').

مع هذا لدينا بلدي الملمس مشحونة، ويمكن أن نقول 'يعمل'، على سبيل المثال batch.draw (لاعب). أين يمكنك الرسم؟ حيث يتم وضعها. كيف ينسق كيس؟ مع getX () الأسلوب، شقيق setX ()، وغيتي ()، شقيق سيتي طريقة (). يبدو إذا قمت بتشغيل هذا، نعم سوف تظهر بلدي الملمس لاعب. ولكن لدينا مشكلة: شخص نسي تحديد طريقة التصرف، والآن عندما يغلق هذا لدينا MiniJoe

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

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

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

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

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

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

كامل من بناة القوام جديدة ولكن قد تكون هناك فئة مركزية للتعامل معهم. ولكن في الوقت الحالي مع هذا نمثلها.

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

عن المؤلف

foto de jotajotavm
José Javier Villena

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