/Angry Birds Space – III

Angry Birds Space – III

للاطلاع على الجزء الاول من هنا، والجزء الثانى من هنا.

اولا انشئ sprite  خاص بالطائر وعدّل في حجمه ثم ارسم دائره كتمثيل بسيط له وحدد الـ origin كما هو موضح بالصور.

 

ثم انشئ sprite  اخر للعصا بنفس الخطوات التي توضحها الصور ايضا.

 

الان انشئ لكلا منهما الـ object  الخاص بها.

في العصا يوجد لدينا العديد من الاحداث التي يجب برمجتها :-

اولا حدث create  ينفذ هذا الحدث بمجرد ظهور هذا الـ obj  وفيه سننشئ متغيرا جديدا داخل الجزء الخاص بكتابة الكود.

وظيفة هذا المتغير هو لأحدد اذا كان الطائر على العصا ام لا ، وانشأناه من النوع global  لتتمكن الـ objects  الاخرى من التعرف عليه.

 

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



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

1- Create

سأعين في هذا الحدث كتلة الطائر ولتكن مثلا = 1 و سأنشئ متغيرا ليحدد فيه ما اذا كان الطائر تم الضغط عليه ام لا وسأضع فيه false بالطبع .

 

2- left pressed

ما اريده هو عندما اضغط على الطائر ان تتحول قيمة المتغير clicked  الى true.



3- Global left button

الهدف من هذه الجزئية هو ان تتعين قيم الـ x  و y مع تغير مكان الطائر بحيث تكون هذه القيم هي المستخدمة في جميع اجزاء الكود.

 

4- Global left Released

اما عندما اترك الطائر ، فانا اريد من فرق الابعاد ان تحدث لي سرعة في كلا البعدين ، وسأرجع قيمة الـ clicked الى false وبما ان الطائر سيبتعد فسنغير الـ sling الى false ايضا.

5- Other

اذا ما خرج الطائر خارج الـ room فانا اريد من اللعبه ان تعود الى نفطة البداية ، يمكنني هنا استخدام الامر الجاهز restart room  من القوائم الجانبيه ، او يمكنني ايضا وضعها ككود باستخدام

restart_room() ، لك كامل الحرية.

 

الان وقت انشاء اطار اللعبة لوضع العناصر به وذلك عن طريق انشاء room جديدة وتعديل حجمها ليناسب ما نريد صنعه ثم اضع في الـ objects  في المكان المناسب.

ang


الان حان الوقت لتجربة ما تم انشائه حتى الان.

في المقال القادم سنكمل بإذن الله وننشئ الكواكب بمداها ونعرف كيف نطبق قانون الجاذبيه عليها.

تحياتي

 

TAGS: