للاطلاع على الجزء الاول من هنا، والجزء الثانى من هنا.
اولا انشئ 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 في المكان المناسب.
الان حان الوقت لتجربة ما تم انشائه حتى الان.
في المقال القادم سنكمل بإذن الله وننشئ الكواكب بمداها ونعرف كيف نطبق قانون الجاذبيه عليها.
تحياتي