اللعبة ليست شيئًا بدون إدخال ، ومع دعم Pygame لكل من إدخال الماوس واللمس ، يمكنك التأكد من إمكانية الوصول إلى لعبتك.

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

تسهل PyGame إنشاء ألعاب وتطبيقات يمكنها الاستفادة من مدخلات اللمس.

دعم اللمس في PyGame

يحتوي PyGame على دعم مدمج للعمل مع مدخلات اللمس. يتضمن ذلك دعم مدخلات الماوس والأصابع التي تعمل باللمس.

لاكتشاف الماوس ، يمكنك استخدام ملف القزم. زر الماوس و القزم. زر الماوس الأحداث. على سبيل المثال:

ل حدث في pygame.event.get ():
لو event.type == pygame. زر الماوس:
مطبعة("تم الضغط على زر الماوس")

لاكتشاف إدخالات لمس الإصبع ، يمكنك استخدام القزم. إصبع و القزم. الاصبع الأحداث. على سبيل المثال:

ل حدث في pygame.event.get ():
لو event.type == pygame. إصبع:
مطبعة("لمس الإصبع الشاشة")

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

يمكنك أن تجد كل الكود في هذا GitHub Repo.

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

instagram viewer

قبل أن تبدأ ، تأكد من أن لديك نقطة مثبتة على جهازك، ثم استخدم الأمر التالي لتثبيت ملف PyGame وحدة:

نقطة تثبيت pygame

الآن ، قم باستيراد وحدة PyGame في كود اللعبة الخاص بك:

يستورد القزم
pygame.init ()

بعد ذلك ، قم بإنشاء نافذة اللعبة وكائن اللعبة:

# قم بإعداد العرض
الحجم = (400, 400)
الشاشة = pygame.display.set_mode (الحجم)

# إنشاء كائن لاعب
لاعب = pygame. سطح((50, 50))
player.fill ((255, 0, 0))

# تعيين الوضع الأولي للاعب
player_pos = [175, 175]

أخيرًا ، أنشئ حلقة اللعبة:

# حلقة اللعبة
تشغيل = حقيقي

بينما جري:
# تحقق من الأحداث
ل حدث في pygame.event.get ():
لو event.type == pygame. يترك:
تشغيل = خطأ شنيع

# تحديث موقف اللاعب
player_pos [0] += 5
player_pos [1] += 5

# ارسم اللاعب
screen.blit (لاعب ، player_pos)

# تحديث العرض
pygame.display.update ()

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

مدخلات لمس الماوس لحركة اللاعب

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

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

# حلقة اللعبة
تشغيل = حقيقي

بينما جري:
# تحقق من الأحداث
ل حدث في pygame.event.get ():
لو event.type == pygame. يترك:
تشغيل = خطأ شنيع
# تحقق من مدخلات الماوس
أليف event.type == pygame. زر الماوس:
mouse_x، mouse_y = event.pos
player_pos [0] = mouse_x
player_pos [1] = mouse_y
أليف event.type == pygame. زر الماوس:
يمر

screen.fill ((0, 0, 0))

# ارسم اللاعب
screen.blit (لاعب ، player_pos)

# تحديث العرض
pygame.display.update ()

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

مدخلات لمس الإصبع لحركة اللاعب

بالإضافة إلى إدخالات الماوس ، يمكنك أيضًا إضافة مدخلات لمس الإصبع. للقيام بذلك ، ستحتاج إلى إضافة معالج حدث لمدخلات الإصبع.

أضف ال القزم. إصبع و القزم. الاصبع أحداث حلقة اللعبة:

# حلقة اللعبة
تشغيل = حقيقي

بينما جري:
# تحقق من الأحداث
ل حدث في pygame.event.get ():
لو event.type == pygame. يترك:
تشغيل = خطأ شنيع
# تحقق من مدخلات الماوس
أليف event.type == pygame. زر الماوس:
mouse_x، mouse_y = event.pos
player_pos [0] = mouse_x
player_pos [1] = mouse_y
أليف event.type == pygame. زر الماوس:
يمر
# تحقق من مدخلات الأصابع
أليف event.type == pygame. إصبع:
finger_x، finger_y = event.pos
player_pos [0] = finger_x
player_pos [1] = finger_y
أليف event.type == pygame. الاصبع:
يمر

screen.fill ((0, 0, 0))

# ارسم اللاعب
screen.blit (لاعب ، player_pos)

# تحديث العرض
pygame.display.update ()

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

ميزات اللمس الإضافية لـ Pygame

مع وجود ميزات اللمس الأساسية في مكانها ، يمكنك البدء في إضافة المزيد من الميزات المتقدمة. يحتوي PyGame على بعض الميزات المضمنة التي يمكن أن تساعدك في إضافة المزيد من ميزات اللمس إلى لعبتك.

الميزة الأولى هي pygame.mouse.set_visible () وظيفة. تتيح لك هذه الوظيفة إخفاء مؤشر الماوس. يمكن أن يكون هذا مفيدًا إذا كنت ترغب في إنشاء لعبة تستخدم فقط مدخلات اللمس وليس الماوس.

فيما يلي مثال على كيفية استخدام set_visible () وظيفة:

pygame.mouse.set_visible (خطأ شنيع)

ال pygame.mouse.set_pos () وظيفة ضبط مؤشر الماوس على موضع معين على الشاشة. يكون هذا مفيدًا إذا كنت تريد تحريك الماوس إلى موقع معين دون استخدام مدخلات الماوس.

يوجد أدناه مثال على كيفية استخدام ملف set_pos () وظيفة:

pygame.mouse.set_pos (200, 200)

يمكنك استخدام ال pygame.mouse.get_rel () وظيفة للحصول على الحركة النسبية للماوس. يمكنك استخدام هذا لاكتشاف المسافة التي تحركها الماوس منذ آخر حدث للماوس.

هذه هي الطريقة التي يمكنك بها استخدام ملف get_rel () وظيفة:

dx، dy = pygame.mouse.get_rel ()

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

يوجد أدناه مثال على كيفية استخدام ملف get_pressed () وظيفة:

mouse_buttons = pygame.mouse.get_pressed ()

يوفر PyGame أيضًا ملف عجلة الفأرة نوع الحدث الذي يمكنك استخدامه لاكتشاف تمرير عجلة الماوس. إنه يدعم كلا من اللفائف الرأسية والأفقية.

هذا مثال:

ل حدث في pygame.event.get ():
لو event.type == pygame. عجلة الفأرة:
لو event.y> 0:
مطبعة("تم تمرير عجلة الماوس لأعلى")
أليف event.y < 0:
مطبعة("تمرير عجلة الماوس لأسفل")

إنشاء ألعاب تفاعلية بإدخالات تعمل باللمس

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

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