تستخدم العديد من الألعاب النقوش المتحركة لتمثيل شخصية اللاعب أو الأعداء. اكتشف كيف تسهل مكتبة Python's Arcade التعامل معها.

توفر مكتبة Python Arcade طريقة سلسة وبديهية لدمج النقوش المتحركة في مشاريع تطوير الألعاب الخاصة بك. العفاريت هي عناصر أساسية تجلب المظهر المرئي والتفاعل والحركة الديناميكية لألعابك.

مع بناء الجملة البسيط والوظائف القوية لـ Arcade ، تصبح إضافة النقوش المتحركة نسيمًا. تتيح لك المكتبة تحسين ألعابك بسهولة من خلال الشخصيات والأشياء الجذابة.

إنشاء لعبة بسيطة

الكود المستخدم في هذه المقالة متوفر في هذا مستودع جيثب وهو مجاني لك لاستخدامه بموجب ترخيص MIT.

قبل أن تبدأ ، تأكد من أن لديك نقطة مثبتة على جهازك. استخدم هذا الأمر لتثبيت مكتبة الآركيد:

نقطة تثبيت الممرات

ابدأ بإنشاء لعبة بسيطة باستخدام مكتبة Python Arcade. في هذه اللعبة ، سيتمكن اللاعب من التحرك إلى اليسار واليمين.

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

instagram viewer

إليك رمز لعبتك الأساسية:

يستورد ممر

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

فصللعبتي(ممر. نافذة او شباك):
def__فيه__(ذاتي ، عرض ، ارتفاع):
سوبر () .__ الحرف الأول __ (العرض ، الارتفاع)
arcade.set_background_color (arcade.color. أبيض)

defيثبت(الذات):
self.player_x = 320

defon_draw(الذات):
arcade.start_render ()
arcade.draw_rectangle_filled (self.player_x، 50, 50, 50، الممرات. أزرق)

defon_key_press(ذاتي ، مفتاح ، معدِّلات):
لو مفتاح == arcade.key. غادر:
self.player_x - = 10
أليف مفتاح == arcade.key. يمين:
self.player_x + = 10

defرئيسي():
اللعبة = MyGame (SCREEN_WIDTH ، SCREEN_HEIGHT)
نمط اللعبة()
arcade.run ()

لو __name__ == "__رئيسي__":
رئيسي()

كيفية إضافة النقوش المتحركة إلى لعبتك

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

قم بتحميل ملف صورة باسم player.png لإنشاء كائن اللاعب الخاص بك. اضبط الموضع الأولي للكائن على منتصف الشاشة. في ال on_draw الطريقة ، ارسم كائن اللاعب باستخدام وظيفة الرسم.

فصللعبتي(ممر. نافذة او شباك):
def__فيه__(ذاتي ، عرض ، ارتفاع):
سوبر () .__ الحرف الأول __ (العرض ، الارتفاع)
arcade.set_background_color (arcade.color. أبيض)
self.player_sprite = لا أحد

defيثبت(الذات):
self.player_sprite = ممر. شبح("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(الذات):
arcade.start_render ()
self.player_sprite.draw ()

defon_key_press(ذاتي ، مفتاح ، معدِّلات):
لو مفتاح == arcade.key. غادر:
self.player_sprite.change_x = -5
أليف مفتاح == arcade.key. يمين:
self.player_sprite.change_x = 5

defتحديث(ذاتي ، delta_time):
self.player_sprite.update ()

ميزات Sprite الإضافية

تقدم Sprites in Arcade ميزات تتجاوز الحركة الأساسية. على سبيل المثال ، يمكنك تغيير حجم كائن عن طريق تعيين سمة المقياس الخاصة به.

يمكنك تعيين سمة المقياس لكائن اللاعب على 0.5 ، لجعلها نصف الحجم الأصلي.

فصللعبتي(ممر. نافذة او شباك):
defيثبت(الذات):
self.player_sprite = ممر. شبح("player.png"، مقياس =0.5)

التحكم في حركة العفريت

توفر Sprites في Arcade طرقًا مختلفة لـ التحكم في حركة اللاعب. إلى جانب ال change_x السمة ، يمكنك استخدام تغيير ص السمة للتحكم في الحركة العمودية. لمزيد من أنماط الحركة المعقدة ، يمكنك أيضًا استخدام تغيير_تشابك السمة لتدوير الكائن.

self.player_sprite.change_angle = ROTATION_SPEED

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

إضافة كشف الاصطدام مع العفاريت

يعد اكتشاف الاصطدام أمرًا بالغ الأهمية في العديد من الألعاب. باستخدام Arcade ، يمكنك بسهولة اكتشاف التصادمات بين الكائنات الحية باستخدام arcade.check_for_collision وظيفة. دعنا نعدل الكود ليشمل اكتشاف التصادم بين كائن اللاعب وكائن آخر يسمى عقبة. png:

فصللعبتي(ممر. نافذة او شباك):
def__فيه__(ذاتي ، عرض ، ارتفاع):
سوبر () .__ الحرف الأول __ (العرض ، الارتفاع)
arcade.set_background_color (arcade.color. أبيض)
self.player_sprite = لا أحد

defيثبت(الذات):
self.player_sprite = ممر. شبح("player.png"، مقياس =0.1)
self.obstacle_sprite = ممر. شبح("العقبة. png"، مقياس = 0.1)
self.obstacle_sprite.center_x = SCREEN_WIDTH
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(الذات):
arcade.start_render ()
self.player_sprite.draw ()
self.obstacle_sprite.draw ()

defon_key_press(ذاتي ، مفتاح ، معدِّلات):
لو مفتاح == arcade.key. غادر:
self.player_sprite.change_x = -5
أليف مفتاح == arcade.key. يمين:
self.player_sprite.change_x = 5

defتحديث(ذاتي ، delta_time):
self.player_sprite.update ()
self.obstacle_sprite.update ()

لو arcade.check_for_collision (self.player_sprite ، self.obstacle_sprite):
مطبعة("تم الكشف عن تصادم!")

اجعل ألعابك أكثر تفاعلاً مع العفاريت

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

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