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

الدليل العملي لتطوير الألعاب باستخدام Pygame --- مقدمة إلى Pygame

تم النشر بتاريخ 2024-08-31
تصفح:539

في هذه المقالة، سنتعلم كيفية تنزيل وتثبيت Pygame، وهي مكتبة لتطوير الألعاب، وسنقوم بتشغيل نموذج مشروع بسيط للتعرف على Pygame.

رابط تنزيل كود المشروع: https://github.com/la-vie-est-belle/pygame_codes


تثبيت بيجامي

تثبيت Pygame على نظام التشغيل Windows
افتح نافذة سطر الأوامر واكتب الأمر pip install pygame متبوعًا بالضغط على Enter. إذا رأيت الرسالة تم تثبيت pygame بنجاح في النهاية، فهذا يعني أنه تم تثبيت Pygame بنجاح.
The Practical Guide to Game Development with Pygame---Introduction to Pygame

ملاحظة: إصدار Pygame المستخدم في هذا البرنامج التعليمي هو 2.6.0.

بالطبع، نحتاج أيضًا إلى التحقق مما إذا كانت Pygame تعمل بشكل صحيح. افتح نافذة سطر الأوامر، واكتب python، ثم اضغط على Enter للدخول إلى واجهة سطر أوامر Python. ثم اكتب استيراد pygame. إذا ظهرت رسالة ترحيب Pygame، فهذا يعني أن التثبيت ناجح ويمكن استخدام Pygame بشكل طبيعي.
The Practical Guide to Game Development with Pygame---Introduction to Pygame

تثبيت Pygame على نظام MacOS
وبالمثل، افتح محطة طرفية، واكتب pip3 install pygame، ثم اضغط على Enter لتثبيت Pygame. طريقة التحقق هي نفسها المذكورة أعلاه، ولن يتم تكرارها هنا.


تشغيل نموذج مشروع Pygame

افتح نافذة سطر الأوامر وقم بتشغيل الأمر python -m pygame.examples.aliens لبدء لعبة الكائنات الفضائية المدمجة التي تأتي مع Pygame. الضوابط هي كما يلي:

  • مفاتيح الأسهم لتحريك اللاعب
  • شريط المسافة لاطلاق النار The Practical Guide to Game Development with Pygame---Introduction to Pygame

The Practical Guide to Game Development with Pygame---Introduction to Pygame

في المقالات العملية القادمة، سنقوم بتطوير وتنفيذ هذه اللعبة الفضائية معًا. الآن، دعونا نلقي نظرة على مثال كود Pygame البسيط 1-1.

import sys
import pygame

pygame.init()                                       # 1
screen = pygame.display.set_mode((1100, 600))       # 2
pygame.display.set_caption('Dino Runner')           # 3

icon = pygame.image.load('icon.png')                # 4
pygame.display.set_icon(icon)

dino = pygame.image.load('dino_start.png')          # 5
dino_rect = dino.get_rect()
dino_rect.topleft = (80, 300)

while True:                                         # 6
    for event in pygame.event.get():                # 7
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.fill((255, 255, 255))                    # 8
    screen.blit(dino, dino_rect)                    # 9
    pygame.display.flip()                           # 10

النتيجة كالتالي:
The Practical Guide to Game Development with Pygame---Introduction to Pygame

شرح الكود:
#1 يقوم pygame.init() بتهيئة كافة الوحدات الموجودة في مكتبة Pygame. يجب تضمين هذا السطر قبل استخدام أي وظائف أو فئات Pygame.

#2 قم باستدعاء الدالة pygame.display.set_mode() لتعيين حجم نافذة اللعبة (يتم تمرير الحجم على شكل صف). تقوم هذه الوظيفة بإرجاع كائن نافذة، والذي يتم تخزينه في شاشة المتغير. يتيح لك هذا الكائن رسم الرسومات وإضافة الصور والنص إلى النافذة. وحدة pygame.display مخصصة لإدارة النوافذ وعرض الشاشة.

#3 استخدم وظيفة pygame.display.set_caption() لتعيين عنوان النافذة.

#4 استخدم الدالة pygame.image.load() لتحميل صورة، في هذه الحالة، رمز النافذة. تقوم هذه الوظيفة بإرجاع كائن صورة، والذي يتم تخزينه في متغير الرمز. بعد ذلك، استخدم الدالة pygame.display.set_icon() لتعيين أيقونة النافذة.

#5 قم بتحميل صورة الشخصية الرئيسية، واستدعاء get_rect() للحصول على مساحة المستطيل لصورة الشخصية (كائن Rect)، وقم بتعيين الزاوية العلوية اليسرى أعلى يسار هذا المستطيل إلى موضع الشاشة.

ملاحظة: أصل إحداثيات الشاشة يقع في الزاوية العلوية اليسرى، حيث يمتد المحور X إلى اليمين ويمتد المحور Y إلى الأسفل. سيتم شرح نظام الإحداثيات في Pygame بالتفصيل في الفصول اللاحقة.

#6 أدخل إلى حلقة اللعبة حيث سيكتشف Pygame بشكل مستمر مدخلات المستخدم ويتعامل معها، أو تحديث حالات اللعبة، أو تحديث محتويات الشاشة.

#7 استخدم pygame.event.get() للحصول على قائمة انتظار الأحداث. في حلقة for، نقرأ ونتعامل مع كل حدث. إذا كان نوع الحدث events.type هو pygame.QUIT (أي إغلاق النافذة)، فاتصل بـ pygame.quit() للخروج من اللعبة. ينهي sys.exit() برنامج Python الحالي وينظف ويخرج من الخيط الذي يقوم بتشغيل برنامج Pygame.

#8 قم باستدعاء وظيفة fill() لشاشة كائن النافذة لملء النافذة باللون. يمكنك تمرير صف يمثل قيم RGB للون، في هذه الحالة، اللون الأبيض.

#9 قم باستدعاء الدالة blit() لشاشة كائن النافذة لعرض صورة الشخصية على الشاشة، مع تحديد الموضع بواسطة المستطيل المعين مسبقًا dino_rect. يمكنك أيضًا تمرير صف إحداثي (x, y) إلى blit() لتعيين موضع الحرف على الشاشة، مثل:

screen.blit(dino, (80, 300))

#10 قم باستدعاء الدالة pygame.display.flip() لتحديث محتوى الشاشة. يمكنك أيضًا استخدام pygame.display.update() لتحقيق نفس التأثير. يمكن للأخير أيضًا قبول منطقة مستطيلة لتحديث هذا الجزء من الشاشة فقط. على سبيل المثال، السطر التالي سوف يقوم بتحديث مستطيل فقط مع الزاوية العلوية اليسرى عند (0، 0) وعرض وارتفاع 350 بكسل.

pygame.display.update((0, 0, 350, 350))

The Practical Guide to Game Development with Pygame---Introduction to Pygame


ملخص

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

اشترِ للمؤلف فنجانًا من القهوة إذا استمتعت بهذا البرنامج التعليمي. :)

  • The Practical Guide to Game Development with Pygame---Introduction to Pygame

  • The Practical Guide to Game Development with Pygame---Introduction to Pygame

  • The Practical Guide to Game Development with Pygame---Introduction to Pygame

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/code_egg/the-practical-guide-to-game-development-with-pygame-introduction-to-pygame-2b3k?1 إذا كان هناك أي انتهاك، فيرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3