الدرس الثالث: Game maker للامانة هذا الدرس منقول من منتديات المحيط العربي من اخونا"Bahr ahmodah" احببت ان انقل هذا الدرس لانه يشرح قوائم وادوات برنامج الGame maker بشكل بسيط ومبدئي ولاني اريد ان ادخل في صلب الموضع الا وهوا التصميم لذلك ارفقت هذه الشروحات البسيطة ليتسنى لي عدم شرح هذه الادات والقوائم لانها قد تاخذ وقت طويل نسبيا. القسم الاول :الواجهة الرئيسة واجهة Game Maker بسيطة وغير معقدة كونها لا تحوي الكثير من الاشياء او الأدوات. فهي كغيرها من برامج الويندوز تحتوي على شريط العنوان Title Bar، القوائم Menu Bar وشريط الادوات Toolbar، بالاضافة الى نافذة الموارد Resources Window ومنطقة العمل Work Area. من المهم معرفة ان Game Maker يمكن ان يستخدم إما في الطور البسيط Simple Mode اوالطور المتقدم Advanced Mode. الواجهة الرئيسة للبرنامج تختلف على حسب الطور، ففي الطور البسيط تكون بعض اوامر البرنامج مختفية اما في الطور المتقدم فتكون جميع الاوامر ظاهرة ومتاحة للاستخدام. وكوننا في الدرس الاول فاننا نفترض انك تستخدم البرنامج في الطور البسيط. للتحويل بين الطور البسيط والطور المتقدم افتح القائمة ملف File ثم اضغط على Advanced Mode. شريط العنوان Title Bar:كما تلاحظ من الشكل، فعلى شريط العنوان يكتب اسم البرنامج متبوعا بكلمة Simple للدلالة على انك تستخدم البرنامج في الطور البسيط، اما اذا كنت في الطور المتقدم فتحذف الكلمة. ثم يظهر اسم ملف اللعبة الحالي. في حال وجود الرمز * بعد اسم اللعبة فهذا يدل على انك قد قمت باجراء بعض التغييرات على اللعبة ولم تحفظها بعد، لذلك فهو ينبهك بحفظ اللعبة ان نسيت ذلك. القوائم Menus: توجد سبعة قوائم في البرنامج وكل منها تحوي مجموعة من الاوامر التي تساعدك على تصميم لعبتك، لكن لاحظ انك لو كنت في الطور المتقدم ثم تحولت الى الطور البسيط فان القائمة ******s تختفي ولحل هذه المشكلة اغلق البرنامج وافتحه من جديد وستظهر القائمة حتى لو كنت في الطور البسيط. سنتحدث عن جميع هذه القوائم بالتفصيل في الدروس القادمة. * لماذا يوجد خط تحت واحدة من حروف كل عنوان قائمة؟ شريط الأدوات Toolbar:ويحوي هذا الشريط بعض الاوامر الموجودة في القوائم التي ذكرناها ولكن وجودها يسهل عملية الوصول الى الاوامر خاصة الكثيرة الاستخدام منها. نافذة الموارد Resources Window: تضم هذه النافذة جميع الموارد التي ستسخدمها في تصميم لعبتك، وطبعا سنتحدث عن الموارد جميعها بالتفصيل لاحقا اما الان فحديثنا سيقتصر حول كيفية اضافة وترتيب وحذف الموارد وكيفية تغيير اسمائها. كما ترى في الشكل 1-1 هنالك عدة انواع مختلفة من الموارد وتاتي منظمة في مجموعات منفصلة تشبه شكل مجلدات ويندوز المألوفة للجميع، وهي كما يلي: 1- الاسبرايتس Sprites. 2- الاصوات Sounds. 3- الخلفيات Backgrounds. 4- الكائنات Objects. 5- الغرف Rooms. وتوجد موارد اخرى لكنها غير متاحة في الطور البسيط بل في الطور المتقدم لكن هذه الموارد وحدها كافية في اغلب الاحيان في تصميم لعبتك، لذا سنؤجل ذكر الموارد الاخرى الى وقت اخر. بالنسبة لمعلومات اللعبة Game Information وخيارات اللعبة Game Options فلا نعتبرها موارد وسنناقشهما لاحقا. لاضافة مورد ما قم بالضغط بالزر الايمن للفارة على مجموعة الموارد التي تريد اضافتها في نافذة الموارد ثم اختر Add Sprite مثلا، كما يمكن ان تفعل ذلك بالضغط على مورد ما بيمين الفارة ثم اختيار Insert Sprite. تلاحظ ظهور نافذة خصائص المورد الذي اضفته، لا عليك منها الان. لنسخ المورد وانشاء واحد شبيه قم بالضغط على المورد الذي تريد اضافته بالزر الايمن ثم اختر الامر Duplicate. لحذف مورد ما اضغط بيمين الفارة على المورد نفسه ثم اختر الامر Delete. لتغيير اسم المورد قم بالضغط عليه بالزر الايمن للفارة ثم اختر Rename. لفتح نافذة خصائص المورد قم بالضغط عليه بالزر الايمن ثم اختر Properties او انقر عليه نقرتين مزدوجتين بالزر الايسر للفارة. كما يمكن الوصول الى الاوامر السابقة بطرق اخرى. يمكن تغيير موضع المورد من مكان الى اخر، فمثلا اذا اردت ان تضع موردا ما فوق جميع الموارد الاخرى قم بسحبها بالزر الايسر للفارة الى المكان المراد ثم اترك زر الفارة. هذه الطريقة تسمى بطريقة السحب والالقاء Drag and Drop. لكنك طبعا لا تستطيع سحب مورد من مجموعة ما الى اخرى مختلفة كما لا يمكنك تغيير مواضع مجموعات الموارد. ان تسمية الموارد بطريقة جيدة، يسهل عليك عملية قراءة لعبتك. لذلك من الافضل لك ان تتبع طريقة معينة في تسميتها. ويجب عليك ان تتجنب تشابه اسماء الموارد لكي لا تربك البرنامج. هذا سيصبح مهما جدا خاصة اذا كنت تستخدم الاكواد. اقترح عليك اتباع الطريقة التالية في التسمية: • الاسبرايتس: اضف spr قبل الاسم. مثال: sprPlayer • الاصوات: اضف snd قبل الاسم. مثال: sndExplosion • الخلفيات: اضف bag قبل الاسم. مثال: bagMainScreen • الكائنات: اضف obj قبل الاسم. مثال: objPlayer • الغرف: لا تضف شيئا قبله. مثال: Level1 لكن لماذا اضفنا تلك الحروف قبل الموارد؟ لان ذلك سيجعلك تعرف نوع المورد اي الى اي مجموعة تنتمي، كما انك قد تحتاج احيانا ان تسمي موردين من مجموعتين مختلفين بنفس الاسم واتباع هذه الطريقة سيؤدي الى عدم تشابه اسم الموردين. واخيرا اريد ان انوه ان الاسماء يمكن ان تحوي ارقاما اوحروفا اوالرمز _ فقط. ولا يجب استخدام المسافات. كما يجب ان تبدأ بحرف. منطقة العمل Work Area: من خلال هذا الجزء في الواجهة الرئيسة للبرنامج تستطيع ان تتحكم بالنوافذ الفرعية الاخرى للبرنامج، فلكل مورد نافذة خصائص خاصة بها وجميعها تظهر في ضمن هذا الجزء ويمكن التعامل معها كما تتعامل مع تطبيقات ويندوز المختلفة مثل تحريكها اوتصغيرها اوتكبيرها اواغلاقها. وعن طريق اوامر القائمة Window تستطيع ان ترتب هذه النوافذ بطريقة سهلة وسريعة، فاذا اردت ان ترتب النوافذ بشكل متتال بحيث يظهر شريط عنوان كل نافذة على الاقل، فاختر الامر Cascade من القائمة Window هذا الامر يقوم ايضا بجعل حجم النوافذ مناسبة لك، بالاضافة الى كل ذلك يقوم بعمل الامر Arrange Icons والذي سنتحدث عنه الان. الامر Arrange Icons وهو مختص بترتيب النوافذ عندما تكون في حالة التصغير Minimized بحيث انك اذا غيرت حجم نافذة البرنامج الرئيسة سترتب هذه النوافذ في موضعها اي اسفل منطقة العمل ان لم تكن كذلك، يمكن الاستغناء عن هذا الامر في حالة استخدام الامر Cascade. الامر الاخير الموجود في هذه القائمة هو Close All والذي يغلق جميع النوافذ الموجودة في منطقة العمل. القسم الثاني :القوائم وأوامرها برنامج Game Maker لا يختلف عن معظم البرامج التطبيقية لويندوز، فهي تضم ما يعرف باسم شريط القوائم Menu Bar والتي تسهل على المستخدم عملية الوصول الى اوامر البرنامج المختلفة، حيث تجد في هذا الشريط سبعة قوائم مختلفة تحوي كل منها مجموعة اوامر تساعدك على تصميم لعبتك. سنناقش معا في هذا الدرس جميع تلك الاومر بالتفصيل. القائمة File:ستجد في هذه القائمة لااوامر المعتادة مثل تحميل وتخزين ملف اللعبة، اضافة الى القليل من الاوامر الخاصة بالبرنامج. • الامر New: اختر هذا الامر لتكوين لعبة جديدة. • الامر Open: يفتح ملف لعبة قمت بحفظه مسبقا. ملفات Game Maker تحمل الامتداد .gmd يمكنك ان تفتح ملف لعبة ما بطريقة اخرى وهي سحب الملف والقائه على نافذة البرنامج. • الامر Recent Files: تجد هنا اخر الملفات التي قمت بفتحها باستخدام البرنامج. • الامر Save: يخزن ملف اللعبة الحالي. • الامر Save As: يخزن ملف اللعبة الحالي تحت اسم مختلف. • الامر Create Executable: يقوم بانشاء ملف تنفيذي ذاتي اي على الامتداد .exe بهذه الطريقة يستطيع اي شخص ان يمارس اللعبة على جهازه حتى لو لم يكن لديه برنامج Game Maker. • الامر Advanced Mode: للتحويل من الطور المتقدم الى الطور البسيط اوالعكس. • الامر Exit: يغلق البرنامج. القائمة Edit: القائمة Edit تحوي عدد من الاوامر المتعلقة بالمورد المختار، وهذه الاوامر هي نفس الاوامر التي ناقشناها في الدرس الاول تحت قسم نافذة الموارد. • الامر Add او Insert: يضيف موردا جديدا. • الامر Duplicate: يكون نسخة مشابهة بالمورد المختار. • الامر Delete: يحذف المورد المختار. • الامر Rename: لاعادة تسمية المورد المختار. • الامر Properties: يفتح نافذة خصائص المورد المختار. - لماذا يوجد احيانا خط يفصل امر اومجموعة من الاوامر عن غيرها من الاوامر؟ القائمة Add: تختص هذه القائمة باوامر اضافة الموارد حسب النوع الذي تريده، اضافة الى امرين اخرين. • الامر Add Sprite: يضيف مورد اسبرايت. • الامر Add Sound: يضيف مورد صوت. • الامر Add Background: يضيف مورد خلفية. • الامر Add Object: يضيف مورد كائن. • الامر Add Room: يضيف مورد غرفة. • الامر Change Game Information: يفتح نافذة معلومات اللعبة. • الامر Change Game Options: يفتح نافذة خيارات اللعبة. القائمة ******s: هذه القائمة تظهر في Game Maker 5.1 فقط وربما تظهر في الاصدارات القادمة فهي لم تكن موجودة في الاصدارات السابقة من البرنامج. تحوي هذا القائمة الاوامر المتعلقة بالاسكريبتس اوالاكواد. • الامر Import ******s: يقوم باستيراد ملف اسكريبت قمت بتصديره مسبقا وهي على الامتداد .gml • الامر Export ******s: يقوم بتصدير اسكريبتس اللعبة. • الامر Show Built-in Variables: يظهر نافذة تحوي جميع المتغيرات الداخلية الخاصة بالبرنامج. • الامر Show Built-in Functions: يظهر نافذة تحوي جميع الدوال الداخلية الخاصة بالبرنامج. • الامر Show Resources Name: يظهر اسماء جميع الموارد في اللعبة، و بالضغط على اسم مورد ما تفتح نافذة خصائص ذلك المورد. • الامر Search in ******s: يبحث عن نص في الاسكريبتس. • الامر Check Resources Name: يفحص جميع الموارد بحثا عن اسماء متشابهة اوغير صحيحة. • الامر Check All Sprites: يفحص جميع الاسكريبتس بحثا عن الأخطاء