بيغام هي مكتبة توفر فرصا لتطوير ألعاب الكمبيوتر في لغة برمجة بايثون. أحد الجوانب المهمة لإنشاء الألعاب هو التعامل مع الاصطدامات-اصطدام الكائنات على الشاشة. في هذه المقالة ، سنلقي نظرة على دليل مفصل حول كيفية إنشاء تصادم في بيغام.
الاصطدام هو حدث يحدث عندما يصطدم كائنان أو يتقاطعان على شاشة اللعبة. تعد معالجة التصادم ضرورية لتحديد التفاعل بين الكائنات وتغيير حالتها أو سلوكها. في بيغام ، مناطق مستطيلة تسمى مستطيلات الاصطدام تستخدم للعمل مع الاصطدامات.
أولا ، تحتاج إلى إنشاء مستطيلات تصادم لكل كائن في اللعبة. يمكن إنشاء المستطيلات باستخدام وظيفة بيغام.المستقيم (). ثم تحتاج إلى تحديد الإجراءات التي يجب أن تحدث عندما تصطدم الكائنات. للقيام بذلك ، يمكنك استخدام الشرطي إذا التعبيرات وعوامل المقارنة.
نموذج التعليمات البرمجية:
في هذا المثال ، يتم إنشاء مستطيلين تصادم ، مستقيم1 و مستقيم2. ثم ، باستخدام طريقة كوليديريكت () ، يتم التحقق مما إذا كانت تتقاطع. إذا تم استيفاء الشرط في إذا ، فهذا يعني أن الكائنات اصطدمت ، ويمكنك تشغيل التعليمات البرمجية للتعامل مع الاصطدام.
- تثبيت بيغام والحصول على استعداد للعمل
- إنشاء نافذة اللعبة وإضافة العفاريت
- تحديد الاصطدام بين العفاريت
- التعامل مع التصادمات بين العفاريت وحدود الشاشة
- رد فعل على الاصطدام: تغيير موقف وخصائص العفاريت
- كشف الاصطدام بين العفاريت والأشياء الأخرى
- تصحيح وتحسين الاصطدامات في بيغام
- 1. تصور الاصطدام
- 2. استخدام المستطيلات بدلا من النقاط
- 3. استخدام الأقنعة لتصادم البكسل
- 4. استخدام المجموعات لإدارة الكائنات
- 5. التصحيح مع الإخراج
- سؤال وجواب
- كيف يمكنني إنشاء تصادم بين العفاريت في الأقزام?
- كيفية حساب الاصطدام بين العفريت وحدود النافذة في بيغام?
- هل من الممكن لخلق تصادم بين العفريت والعديد من الكائنات في نفس الوقت في بيغام?
- هل من الممكن إضافة تصادم إلى صور متعددة / العفاريت في بيغام?
تثبيت بيغام والحصول على استعداد للعمل
بيغام هي مكتبة مصممة لإنشاء ألعاب الكمبيوتر باستخدام لغة برمجة بايثون. قبل البدء في العمل مع بيغام ، تحتاج إلى تثبيته على جهاز الكمبيوتر الخاص بك.
الخطوة 1: تحميل وتثبيت بايثون. بيغام متوافق مع الإصدارات بيثون 2.7 و 3.x. يمكنك تنزيل أحدث إصدار من بايثون من موقع بايثون الرسمي.
الخطوة 2: تحميل وتثبيت بيغام. يمكنك تحميل بيغام من الموقع الرسمي بيغام. يرجى ملاحظة أنك تحتاج إلى اختيار الإصدار الصحيح من بيغام متوافق مع إصدار بايثون الخاص بك.
الخطوة 3: تحقق من تثبيت بيغام. افتح موجه الأوامر واكتب الأمر التالي:
بيثون م بيغام.أمثلة.الأجانب
إذا كان لديك كل شيء تم إعداده بشكل صحيح ، فيجب أن ترى مثالا على لعبة غريبة تعمل في بيغام. إذا كنت ترى خطأ ، قد يكون راجعا إلى تثبيت غير صحيح من بيغام أو الإصدار الخاص بك من بيثون.
الخطوة 4: تثبيت إيد للبرمجة بيثون. عند كتابة الألعاب باستخدام بيغام ، سوف تحتاج إيد أو محرر نص لكتابة التعليمات البرمجية. تتضمن بعض أفكار بايثون الشهيرة بيتشارم ورمز فيسوال ستوديو ونص سامي.
الآن أن لديك بيثون ، بيغام تثبيت ومحرر نص مناسب أو إيد المحدد ، كنت على استعداد لبدء ألعاب البرمجة باستخدام بيغام.
إنشاء نافذة اللعبة وإضافة العفاريت
لإنشاء لعبة في مكتبة بيغام ، تحتاج إلى إنشاء نافذة التي سيتم عرض اللعب ، وكذلك إضافة العفاريت – الكائنات الرسومية التي سوف تتفاعل في اللعبة.
لبدء العمل مع بيغام ، استيراد المكتبة المناسبة:
استيراد بيغام
بعد ذلك ، تحتاج إلى تهيئة بيغام:
بيغام.الحرف الأول()
لإنشاء نافذة لعبة ، استخدم الكود التالي:
العرض = 800
الارتفاع = 600
# إنشاء نافذة اللعبة
نافذة = بيغام.عرض.ضبط الوضع ((العرض ، الارتفاع))
بيغام.عرض.تعيين كابتيون ("لعبتي")
وظيفة يخلق نافذة مع الأبعاد المحددة. يشير السطر الثاني إلى اسم النافذة.
وتمثل صورة أو عنصر رسومي.
على سبيل المثال ، دعنا ننشئ فصلا لعفريت يتم فيه عرض المشغل:
لاعب الطبقة (الأقزام.العفريت.العفريت):
مواطنه _ _ الحرف الأول__(النفس):
سوبر ().__ الحرف الأول _ _ ()
النفس.الصورة = بيغام.السطح ((50 ، 50))
النفس.صورة.ملء((255 ، 0 ، 0))
النفس.المستقيم = النفس.صورة.الحصول على()
النفس.المستقيم.المركز = (العرض / 2 ، الارتفاع / 2)
مع الأبعاد المحددة ، في هذه الحالة 50 pixels 50 بكسل ، ويتم تعبئتها باللون الأحمر.
يستخدم ، وهو المسؤول عن موقف وأبعاد العفريت. في هذا المثال ، يتم توسيط المستطيل في منتصف نافذة اللعبة.
وإضافته إلى قائمة العفاريت:
# إنشاء العفاريت
لاعب = لاعب()
كل_سبريتس = بيغام.العفريت.المجموعة()
جميع المطبوعات.إضافة (لاعب)
.
الآن يمكنك عرض جميع العفاريت على نافذة اللعبة:
# رسم العفاريت
جميع المطبوعات.رسم (نافذة)
.
رمز كامل لإنشاء نافذة وإضافة العفاريت:
استيراد بيغام
# تهيئة الأقزام
بيغام.الحرف الأول()
# تحديد أحجام النوافذ
العرض = 800
الارتفاع = 600
# إنشاء نافذة اللعبة
نافذة = بيغام.عرض.ضبط الوضع ((العرض ، الارتفاع))
بيغام.عرض.تعيين كابتيون ("لعبتي")
# إنشاء فئة للاعب
لاعب الطبقة (الأقزام.العفريت.العفريت):
مواطنه _ _ الحرف الأول__(النفس):
سوبر ().__ الحرف الأول _ _ ()
النفس.الصورة = بيغام.السطح ((50 ، 50))
النفس.صورة.ملء((255 ، 0 ، 0))
النفس.المستقيم = النفس.صورة.الحصول على()
النفس.المستقيم.المركز = (العرض / 2 ، الارتفاع / 2)
# Создание спрайтов
لاعب = لاعب()
كل_سبريتس = بيغام.العفريت.المجموعة()
جميع المطبوعات.إضافة (لاعب)
# Основной игровой цикл
تشغيل = صحيح
أثناء الجري:
# Обработка событий
للحدث في بيغام.حدث.الحصول على():
إذا حدث.اكتب = = بيغام.إنهاء:
تشغيل = خطأ
# Отрисовка спрайтов
نافذة.ملء((0 ، 0 ، 0))
جميع المطبوعات.رسم (نافذة)
# تحديث النافذة
بيغام.عرض.تحديث()
# اغلاق بيغام
بيغام.إنهاء()
ستكون نافذة اللعبة مفتوحة الآن وسيتم عرض كائن اللاعب عليها.
تحديد الاصطدام بين العفاريت
الاصطدام بين العفاريت في بيغام هو عملية تحديد ما إذا كان هناك تقاطع أو تصادم بين كائنين على الشاشة. يمكن أن تكون أمثلة هذه الأشياء اللاعب والأعداء والرصاص والعقبات.
يوفر بيغام عدة طرق لتحديد الاصطدام بين العفاريت:
- :
- :
عندما يتم تحديد تصادم بين العفاريت ، يمكن تنفيذ إجراءات إضافية ، مثل تغيير حالة العفاريت أو التفاعل مع عالم اللعبة أو عرض الرسوم المتحركة.
لتحديد تقاطع أكثر دقة.
التعامل مع التصادمات بين العفاريت وحدود الشاشة
عندما نعمل على إنشاء لعبة في بيغام واستخدام العفاريت ، فإن أحد الجوانب المهمة هو العمل مع الاصطدام. يحدث الاصطدام عندما يتقاطع اثنان من العفاريت أو عندما يصل العفريت إلى حدود الشاشة. في هذا القسم ، سننظر في كيفية التعامل مع التصادمات بين العفاريت وحدود الشاشة.
يستخدم. فإنه يأخذ حجتين: العفريت للتحقق من الاصطدام مع ، ومجموعة من العفاريت للتحقق من الاصطدام مع. تقوم الطريقة بإرجاع قائمة بجميع العفاريت التي اصطدمت بها.
:
إذا بيغام.العفريت.سبريتكوليد (لاعب ، عدو_مجموعة ، صحيح):
لاعب.اللعبة = صحيح
مما قد يؤدي إلى نهاية اللعبة.
عندما نريد اكتشاف أن العفريت قد وصل إلى حافة الشاشة ، يمكننا استخدام فحص بسيط للحالة. على سبيل المثال ، إذا أصبح الإحداثي السيني للعفريت أقل من الصفر ، فهذا يعني أن العفريت قد تجاوز الحد الأيسر للشاشة. وبالمثل بالنسبة للحدود الأخرى:
إذا لاعب.المستقيم.س < 0 أو لاعب.المستقيم.س > شاشة_عرض أو لاعب.المستقيم.ص < 0 أو لاعب.المستقيم.ص > شاشة_ارتفاع:
لاعب.اللعبة = صحيح
.
وعن طريق التحقق من إحداثيات العفريت بشكل صحيح ، يمكنك التحكم في سلوك اللعبة وتحقيق رد الفعل المطلوب عندما تصطدم العفاريت أو تصل إلى حدود الشاشة.
استجابة الاصطدام: تغيير موضع وخصائص العفاريت
الاصطدام هو حدث عندما يتفاعل اثنان من العفاريت ، أي تتقاطع مستطيلات الرسومات الخاصة بهم. لإنشاء رد فعل على تصادم في بيغام ، تحتاج إلى تحديد أي العفريت اصطدمت مع أي واحد ، ومن ثم تنفيذ الإجراء المناسب.
واحدة من أكثر الطرق شيوعا للرد على الاصطدام هي تغيير موضع أو خصائص العفاريت. فيما يلي بعض الأمثلة على كيفية القيام بذلك:
- تغيير الموضع: يمكنك نقل العفريت إلى موقع مختلف على الشاشة عندما يصطدم بعفريت آخر. على سبيل المثال ، إذا كان العفريت الخاص بك يمثل لاعبا وواجه عقبة ، فيمكنك نقله إلى وضع البداية أو إلى وضع عشوائي. للقيام بذلك ، سوف تحتاج إلى تغيير سمات العفريت ، مثل إحداثيات س و ص.
- تغيير الخصائص: يمكنك أيضا تغيير خصائص العفريت بعد الاصطدام. على سبيل المثال ، إذا كان العفريت الخاص بك يمثل عدوا ويصطدم بلاعب ، فيمكنك تقليل صحته أو إتلافه. للقيام بذلك ، سوف تحتاج إلى تغيير خصائص العفريت ، مثل المتغيرات المسؤولة عن الصحة أو الضرر.
من المهم أن تتذكر أن تغيير موضع أو خصائص العفاريت يجب أن يحدث في معالج الاصطدام ، أي حيث تحدد ما يحدث عندما تصطدم العفاريت. يمكنك استخدام أساليب بيغام المدمج في مثل كوليديريكت () لتحديد ما إذا كان قد حدث تصادم ، أو تحديد الشروط نفسك.
| Пример кода: |
|---|
العدو.س = عشوائي.راندينت (0 ، عرض النافذة)
العدو.ص = عشوائي.راندينت (0 ، ارتفاع النافذة)
في المثال أعلاه ، إذا اصطدم سبرايت اللاعب بعفريت العدو ، فإن صحة اللاعب تقل بمقدار ضرر العدو ، وينتقل سبرايت العدو إلى موضع عشوائي على الشاشة.
هذه مجرد واحدة من العديد من الطرق الممكنة للرد على تصادم في بيغام. من المهم أن تأخذ في الاعتبار المتطلبات المحددة للعبة الخاصة بك وتنفيذ التعليمات البرمجية المناسبة.
كشف الاصطدام بين العفاريت والأشياء الأخرى
- بيغام يوفر أدوات مريحة للكشف عن الاصطدامات وتنفيذ الإجراءات اللازمة عند حدوث مثل هذه الاصطدامات.
- قبل اكتشاف الاصطدامات ، تحتاج إلى إنشاء نقوش متحركة وأشياء أخرى في لعبتك.
- 3. كشف التصادم
- بيغام.العفريت.سبريتكوليد()
- تسمح لك هذه الطريقة باكتشاف التصادمات بين العفاريت والعفاريت الأخرى في المجموعة.
بيغام.العفريت.اصطدام مباشر()
- هذه الطريقة مشابهة للطريقة
اصطدام مباشر()
، ولكنه يسمح لك بتغيير حجم المساحات المستطيلة لاكتشاف التصادم بشكل أكثر دقة.
بيغام.العفريت.قناع الاصطدام()
- تستخدم هذه الطريقة قناع العفريت للكشف عن الاصطدامات. القناع هو صورة تحدد فيها وحدات البكسل غير الشفافة منطقة العفريت.
4. التعامل مع الاصطدام
# تم اكتشاف تصادم ، نقوم بالإجراءات اللازمة
في هذا المثال ، المتغير
اللاعب
يمثل العفريت الذي تريد التحقق من الاصطدامات مع ، والمتغير
آخرون_الأسبق_المجموعة
- مجموعة من العفاريت التي تتحقق من التصادم معها.
طريقة سبريتكوليد ()
إرجاع قائمة من العفاريت التي حدث تصادم.
بعد اكتشاف الاصطدام ، يمكنك تنفيذ الإجراءات اللازمة باستخدام حلقة
ل
، الفرز من خلال العفاريت التي اصطدمت.
هذه ليست سوى الخطوات الأساسية للكشف عن الاصطدامات بين العفاريت والكائنات الأخرى في بيغام. يمكنك تخصيص وتكملة هذه الأساليب وفقا لمتطلبات محددة ومنطق اللعبة.
تصحيح وتحسين الاصطدامات في بيغام
عند إنشاء لعبة في بيغام ، تنفيذ تصادم بين الكائنات يمكن أن يكون مهمة صعبة. ومع ذلك ، مع التصحيح الصحيح وبعض التحسينات ، يمكنك تبسيط هذه العملية إلى حد كبير. في هذا القسم ، سنلقي نظرة على العديد من الطرق المفيدة التي ستسمح لك بتصحيح وتحسين الاصطدام في بيغام.
1. تصور الاصطدام
للحصول على فكرة أوضح عن كيفية حدوث الاصطدام بين الكائنات في لعبتك ، يمكنك إضافة تصور للتصادم. على سبيل المثال ، إذا اصطدم كائنان ، يمكنك تغيير لونهما مؤقتا أو عرض منطقة دائرية حيث حدث التصادم. سيساعدك هذا على فهم كيفية عمل التصادم بشكل أفضل وتحديد مناطق المشاكل في التعليمات البرمجية الخاصة بك.
2. استخدام المستطيلات بدلا من النقاط
إذا كانت لعبتك تستخدم كائنات مستطيلة ، فيمكنك استخدام المستطيلات بدلا من النقاط لتحديد التصادم. بدلا من التحقق من كل نقطة من كائن للتصادم مع الكائنات الأخرى ، يمكنك التحقق من الاصطدامات بين المستطيلات. هذا هو أكثر كفاءة ويسمح لك للتعامل مع الاصطدامات بين عدد كبير من الكائنات بسرعة أكبر.
3. استخدام الأقنعة لتصادم البكسل
إذا كانت الكائنات الموجودة في لعبتك ذات شكل معقد ، فيمكنك استخدام الأقنعة لتحديد الاصطدام. القناع هو صورة خاصة حيث تشير وحدات البكسل الشفافة إلى منطقة لا يمكن اختراقها من كائن ، وتشير وحدات البكسل غير الشفافة إلى منطقة قابلة للاختراق. يحدث التحقق من التصادمات بين الكائنات من خلال مقارنة وحدات البكسل لقناع هذه الكائنات. هذا يسمح لك لتحديد بدقة الاصطدام بين الكائنات في اللعبة.
4. استخدام المجموعات لإدارة الكائنات
إذا كان لديك عدد كبير من الكائنات في لعبتك ، فقد تصبح إدارة الاصطدام مهمة صعبة. بدلا من التحقق من كل كائن على حدة ، يمكنك استخدام مجموعات مثل القوائم أو القواميس لتخزين الكائنات ومعالجتها. على سبيل المثال ، يمكنك استخدام قاموس حيث يكون المفتاح هو معرف الكائن والقيمة هي الكائن نفسه. هذا سوف يسمح لك بسهولة وبسرعة التعامل مع وإدارة الاصطدامات بين الكائنات.
5. التصحيح باستخدام الإخراج
أثناء تطوير اللعبة ، يمكنك استخدام إخراج المعلومات إلى الشاشة أو إلى وحدة التحكم لتصحيح الاصطدام. على سبيل المثال ، يمكنك إخراج إحداثيات الكائن ومعلومات التصادم لكل كائن متعقب. سيساعدك هذا على اكتشاف الأخطاء ومشكلات التصادم بسهولة وإصلاحها بسرعة.
بعد كل شيء ، وخلق وتصحيح الاصطدام في بيغام هو فن التخصيص والتحسين ، الأمر الذي يتطلب فهم المبادئ الأساسية للتصادم ونهج دقيق للتنمية. استخدم هذه التقنيات والنصائح لتبسيط عملية التعامل مع الاصطدامات في لعبتك وإنشاء تجربة لعب أكثر واقعية وإثارة للاهتمام للاعبين.