Pygame هي مكتبة مجانية ومفتوحة المصدر ومتعددة المنصات لتطوير تطبيقات الوسائط المتعددة مثل ألعاب الفيديو باستخدام Python. ويستخدم مكتبة Simple DirectMedia Layer والعديد من المكتبات الشائعة الأخرى لاستخلاص الوظائف الأكثر شيوعًا، مما يجعل كتابة هذه البرامج مهمة أكثر سهولة.
نحن بحاجة لمساعدتكم لجعل pygame أفضل ما يمكن أن يكون! المساهمين الجدد هي موضع ترحيب.
قبل تثبيت pygame، يجب عليك التحقق من تثبيت Python على جهازك. لمعرفة ذلك، افتح موجه الأوامر (إذا كان لديك Windows) أو محطة طرفية (إذا كان لديك MacOS أو Linux) واكتب هذا:
بيثون - الإصدار
إذا ظهرت رسالة مثل "Python 3.8.10"، فهذا يعني أنه تم تثبيت Python بشكل صحيح. إذا ظهرت رسالة خطأ، فهذا يعني أنه لم يتم تثبيته بعد. يجب عليك بعد ذلك الذهاب إلى الموقع الرسمي لتنزيله.
بمجرد تثبيت Python، يجب عليك إجراء فحص نهائي: عليك معرفة ما إذا تم تثبيت النقطة. بشكل عام، يتم تثبيت النقطة (pip) مسبقًا مع Python ولكننا غير متأكدين أبدًا. كما هو الحال مع بايثون، اكتب الأمر التالي:
النقطة - الإصدار
إذا ظهرت رسالة مثل "pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)"، فأنت جاهز لتثبيت pygame! لتثبيته، أدخل هذا الأمر:
نقطة تثبيت pygame
بمجرد تثبيت pygame، اختبر مكتبتك بسرعة عن طريق إدخال الأمر التالي، الذي يفتح إحدى أمثلة الألعاب العديدة المثبتة مسبقًا:
python3 -m pygame.examples.aliens
إذا لم ينجح ذلك، فإن قسم "بدء الاستخدام" في الموقع الرسمي يحتوي على مزيد من المعلومات حول المشكلات الخاصة بالنظام الأساسي، مثل إضافة لغة python إلى إعدادات PATH بجهازك
إذا كنت قد بدأت للتو في استخدام pygame، فيجب أن تكون قادرًا على البدء بسرعة إلى حد ما. يأتي Pygame مع العديد من البرامج التعليمية والمقدمات. هناك أيضًا وثائق مرجعية كاملة للمكتبة بأكملها. تصفح الوثائق على صفحة المستندات. يمكنك أيضًا تصفح الوثائق محليًا عن طريق تشغيل python -m pygame.docs
في جهازك. إذا لم يتم العثور على المستندات محليًا، فسيتم تشغيل موقع الويب عبر الإنترنت بدلاً من ذلك.
تظل الوثائق عبر الإنترنت محدثة مع إصدار التطوير من pygame على GitHub. قد يكون هذا أحدث قليلاً من إصدار pygame الذي تستخدمه. للترقية إلى أحدث إصدار كامل، قم بتشغيل pip install pygame --upgrade
في جهازك الطرفي.
وأفضل ما في الأمر هو أن دليل الأمثلة يحتوي على العديد من البرامج الصغيرة القابلة للتشغيل والتي يمكن أن تساعدك على بدء اللعب بالكود على الفور.
Pygame هي مكتبة قوية لتطوير الألعاب، وتقدم مجموعة واسعة من الميزات لتبسيط رحلة البرمجة الخاصة بك. دعنا نتعمق في ما تقدمه pygame:
الرسومات - مع pygame، أصبح إنشاء رسومات ديناميكية وجذابة أسهل من أي وقت مضى. توفر المكتبة أدوات بسيطة لكنها فعالة للرسومات ثنائية الأبعاد والرسوم المتحركة، بما في ذلك دعم الصور والمستطيلات والأشكال المضلعة. سواء كنت مطور ألعاب متمرسًا أو بدأت للتو، فإن pygame ستوفر لك كل ما تحتاجه.
الصوت - يتضمن Pygame أيضًا دعمًا لتشغيل الصوت والموسيقى ومعالجتها، مما يجعل من السهل إضافة مؤثرات صوتية وموسيقى خلفية إلى ألعابك. مع دعم تنسيقات الملفات WAV وMP3 وOGG، لديك الكثير من الخيارات للاختيار من بينها.
الإدخال - يوفر Pygame وظائف بديهية للتعامل مع إدخال لوحة المفاتيح والماوس وعصا التحكم، مما يسمح لك بتنفيذ عناصر تحكم اللاعب في ألعابك بسرعة وسهولة. لا مزيد من المعاناة مع كود الإدخال المعقد، pygame يجعل الأمر بسيطًا.
تطوير الألعاب - أخيرًا، توفر pygame مجموعة شاملة من الأدوات والميزات المصممة خصيصًا لتطوير الألعاب. بدءًا من اكتشاف التصادم وحتى إدارة الكائنات، تمتلك pygame كل ما تحتاجه لإنشاء ألعاب مثيرة وجذابة. سواء كنت تقوم ببناء منصة، أو لعبة ألغاز، أو أي شيء بينهما، فإن pygame ستوفر لك كل ما تحتاجه.
إذا كنت ترغب في استخدام الميزات قيد التطوير حاليًا، أو كنت ترغب في المساهمة في pygame، فستحتاج إلى إنشاء pygame محليًا من كود المصدر الخاص به، بدلاً من تثبيته بالنقطة.
التثبيت من المصدر تلقائي إلى حد ما. سيتضمن معظم العمل تجميع وتثبيت كافة تبعيات pygame. بمجرد الانتهاء من ذلك، قم بتشغيل البرنامج النصي setup.py
الذي سيحاول تكوين pygame وإنشائه وتثبيته تلقائيًا.
يتوفر المزيد من المعلومات حول التثبيت والتجميع على صفحة Wiki الخاصة بالتجميع.
شكرا لكل من ساهم في هذه المكتبة. شكر خاص أيضا في محله.
شكرًا لأولئك الذين أرسلوا التصحيحات والإصلاحات: نيكي سباهيف، وجوردون تايلر، وناثانيال برايس، وديف والاس، وجون بوبلويل، ومايكل أورمان، وأندرو سترو، ومايكل هدسون، وأولي مارتن بيورندالين، وإيرفيه كاويلير، وجيمس مازر، ولالو مارتينز، وتيموثي سترانيكس، وتشاد. ليستر، ماتياس سبيلر، بو جانجبورج، ديمتري بوريسوف، كامبل بارتون، دييجو إسايا، إيال لوتيم، ريجيس ديسغروبس، إيمانويل هينري، راندي كالبر ماثيو إل دانييل، نيراف باتل، فورست فويت، تشارلي نولان، فرانكي روبرتسون، جون كروكوف، لورينز كواك، نيك إيرفين، مايكل جورج، شاول سباتز، توماس إيبوتسون، توم روثاميل، إيفان كروسكي، كامبل بارتون.
وصائدو الأخطاء لدينا يتجاوزون الحدود: أنجوس، غيوم برو، فرانك رايزر، أوستن هنري، كاوه كاظمي، أرتورو ألداما، مايك مولتشيك، مايكل بنفيلد، ديفيد لاو
هناك العديد من الأشخاص الذين قدموا أفكارًا مفيدة، وحافظوا على استمرار هذا المشروع، وجعلوا حياتنا أسهل. شكرًا!
شكرًا جزيلاً للأشخاص الذين يقدمون تعليقات التوثيق، ويضيفون إلى موقع pygame.org wiki.
شكرًا جزيلًا أيضًا للأشخاص الذين قاموا بإنشاء الألعاب ووضعها على موقع pygame.org ليتعلم منها الآخرون ويستمتعوا بها.
شكرًا جزيلاً لجيمس بيج على استضافة لعبة pygame bugzilla.
كما نتقدم بالشكر الجزيل أيضًا إلى Roger Dingledine وطاقم العمل في SEUL.ORG على استضافتنا الممتازة.
من الواضح أن Pygame تعتمد بشدة على SDL وPython. كما أنه يرتبط أيضًا بالعديد من المكتبات الصغيرة الأخرى ويدمجها. تعتمد وحدة الخط على SDL_ttf، الذي يعتمد على الكتابة الحرة. تعتمد وحدات الخلاط (وmixer.music) على SDL_mixer. تعتمد وحدة الصورة على SDL_image، والتي يمكنها أيضًا استخدام libjpeg و libpng. تحتوي وحدة التحويل على نسخة مضمنة من SDL_rotozoom لوظيفة rotozoom الخاصة بها. تتطلب وحدة Surfarray حزمة Python NumPy لمصفوفاتها الرقمية متعددة الأبعاد. إصدارات التبعية:
سي بايثون | >= 3.6 (أو استخدم PyPy3) |
SDL | >= 2.0.8 |
SDL_mixer | >= 2.0.0 |
SDL_image | >= 2.0.2 |
SDL_ttf | >= 2.0.11 |
SDL_gfx | (اختياري، يتم بيعه في) |
NumPy | >= 1.6.2 (اختياري) |
يتم توزيع هذه المكتبة تحت GNU LGPL الإصدار 2.1، والذي يمكن العثور عليه في الملف docs/LGPL.txt
. نحن نحتفظ بالحق في وضع الإصدارات المستقبلية من هذه المكتبة تحت ترخيص مختلف.
هذا يعني في الأساس أنه يمكنك استخدام pygame في أي مشروع تريده، ولكن إذا قمت بإجراء أي تغييرات أو إضافات على pygame نفسه، فيجب إصدارها بترخيص متوافق (يفضل إرسالها مرة أخرى إلى مشروع pygame). الألعاب مغلقة المصدر والألعاب التجارية جيدة.
البرامج الموجودة في الدليل الفرعي examples
موجودة في المجال العام.
راجع المستندات/التراخيص للحصول على تراخيص التبعيات.