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

برمجة الألعاب لالروبوت 18: فعل ممثل

42 فيديوهات

238 دقيقة

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

الحديث عن TextureRegions، لذلك سوف تحتاج ActorPinchos لنا بالمرور، وليس الملمس كمعلمة، ولكن TextureRegion، حتى تعرف أين حدود الملمس لاستخدامها لرسم ل. هذا هو نفسه: أنا باني وتمريرها كمعلمة هذه المسامير. ومثل قبل، وأنا أقول batch.draw (أسياخ، getX ()، غيتي ()). في هذه الحالة، مثيل أنها بسيطة على حد سواء. أولا أود أن أوضح التموج الملمس.

بينتشوس = نسيج جديد ( 'pinchos.png'). في هذه الحالة لدي، ليس فقط لرعاية الملمس، ولكن في المنطقة. TextureRegion regionPinchos. البدء أن نفهم لماذا يصبح assetManager أكثر وضوحا لننظر كيف كان يعمل. RegionPincho تكون منطقة جديدة، وإذا كنت أتذكر بشكل صحيح الأرقام يجب أن تكون 0، 64، 128، 64. الذاكرة. الآن ما أقوم به هو مثيل بلدي ActorPinchos، التي أمرر المنطقة،

ومع هذا لدي تحميلها. سوف stage.addActor (أسياخ)، وأنا وضعت في موقف (400، 100). حقا ما أريده هو أن يشرح كيف يعمل طريقة عمل، بحيث يظهر على محتوى side'm الصحيح. دعونا نرى حيث يبدو، لأن بصراحة أنا لا أعرف. حسنا. ذكي جدا لي ننسى أن ندعو المتغير الصحيح، ولكن الشيء المهم هو أن تظهر على الجانب الأيمن من الشاشة. أين أنا ذاهب مع هذا؟

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

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

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

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

بلدي objetito يجب أن يسافر سرعة -250 بكسل في الاتجاه X. أي يجب أن decremented كل ثانية موقف X من قبل 250 بكسل. والمشكلة الوحيدة هي أننا لا نعرف متى يذهب الثانية، فقط كل 0.01 أو 0.02 ثانية لاستدعاء أسلوب العمل، وكنت أريد أن أقول كم مرت ثواني منذ آخر مرة تم استدعاؤه للعمل، لكونها قيمة عشرية صغيرة جدا. ولذلك فإن آخر شيء فعله هو تقسيم هذا

في مجموعات صغيرة، وتشكل مادة 3: إذا ذهبت في 1 250 بكسل، 0.01 ثواني X. إذا قمت بنقل أنا جعله، لا بد لي من القيام به هو الرقم تسريع خطي ضرب من قبل دلتا السرعة في بكسل في الثانية الواحدة. على سبيل المثال، لجعل شخصية من هذه التقدم ل -250 سرعة بكسل / ثانية، لا بد لي من ضرب من قبل -250 دلتا، لتحديد مدى لنقل هذه الحزمة من بضع ميلي ثانية

منحت لنا. على سبيل المثال، setX (getX () - 250 * دلتا). وبالتالي إذا 0.01 ثواني لقد مر الآن سوف 2.5 بكسل تتحرك، من خلال هذه الزيادات نحصل على ركوب أكثر أمانا. إذا الآن أضع في موقف 500 وسوف يكون 2 ثانية من الوقت حتى يختفي

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

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

عن المؤلف

foto de jotajotavm
José Javier Villena

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