الدرس السابع
نافذة خصائص الغرفة
اصبحت الان قادرا على تكوين الكائنات وغيرها من الموارد. وبقي عليك الان التعرف على المكان الذي ستضع فيها تلك الكائنات. الغرف Rooms هي المكان الذي تجري فيه احداث اللعبة. اية لعبة تحتاج على الاقل لغرفة واحدة، اي بمعنى اخر لا يمكن ان تصمم لعبة بدون غرفة. ولو حاولت فعل ذلك ستظهر لك رسالة خطا تقول انه قد تعذر تحميل اللعبة لعدم احتوائها على غرف كما هو موضح في الشكل 7-1:
الشكل 7-1: ظهور رسالة الخطا دلالة على عدم وجود غرفة في اللعبة
لذلك فبعض خبراء Game Maker يعتبرون الغرف اهم مورد في اللعبة، لكن Mark Overmars مصمم البرنامج يخالفهم الراي ويعتبر الكائنات اهم مورد في اللعبة. لفتح نافذة خصائص الغرفة قم بالنقر المزدوج على مورد الغرفة، فتظهر نافذة كما في الشكل 7-2:
تم تصغير الصوره ,لمشاهدة الصوره بحجمها الأصلي أضغط هنا.
الشكل 7-2: نافذة خصائص الغرفة
في الطور البسيط توجد ثلاثة اقسام في نافذة خصائص الغرفة وهي قسم الكائنات objects، قسم الاعدادات settings وقسم الخلفيات backgrounds، اما في الطور المتقدم فتزداد عدد الاقسام لتصل الى خمسة اقسام. تلاحظ وجود مساحة رمادية فارغة في الجهة اليمنى من النافذة وهي تمثل الغرفة، واسفل هذه المساحة تجد قيمة المتغيران mouse_x وmouse_y وهما يشيران الى الموضع الحالي لمؤشر الفارة في الغرفة معتمدة على موضعها في الخطوط الشبكية.
القسم objects:يختص هذا القسم باضافة الكائنات وحذفها من الغرفة.
· اضافة الكائنات الى الغرفة: لاضافة كائن ما الى الغرفة عليك اولا اختياره ويتم ذلك بالضغط بالزر الايسر للفارة في المنطقة الفارغة تحت قسم الكائن object، او بالضغط على الزر الازرق الصغير الموجود تحت هذه المنطقة، فتظهر قائمة تحوي جميع الموارد في اللعبة وما عليك الا اختيار الكائن الذي تريد اضافته الى الغرفة كما في الشكل 7-3:
الشكل 7-3: يوضح ظهور قائمة اختيار الكائن
بعد اختيار الكائن المراد اضافته يتم عرض اسمه في المستطيل الابيض بجانب الزر الازرق الصغير، ولاضافة الكائن المختار الى الغرفة قم بالضغط على المساحة التي تمثل الغرفة-المنطقة الرمادية على يمين نافذة خصائص الغرفة- وذلك في الموضع الذي تريد اضافة الكائن فيه. تلاحظ ان الكائن ينجذب نحو الخطوط الشبكية، هذا الامر يسهل عملية وضع الكائنات في المكان الذي تريده بشكل مرتب، اما اذا اردت ان لا ينجذب الكائن الى الخطوط الشبكية فاستمر بالضغط على المفتاح Alt من لوحة المفاتيح واضغط بالزر الايسر للفارة في المكان الذي تريد اضافة الكائن فيه، وتلاحظ ان البرنامج في هذه الحالة قام بوضع الكائن في الموضع الذي نقرت عليه بالضبط. اما في حالة الاستمرار بالضغط على الزر الايسر للفارة مع السحب على الغرفة فان البرنامج سيقوم باضافة الكائن بشكل سريع ومتتال.
· الامر Delete underlying: بتشغيله يقوم البرنامج بحذف اي كائن يقع تحت الكائن المراد اضافته، اما اذا قمت بعدم اختياره فسيقوم البرنامج باضافة الكائن فوق الكائن الاخر دون حذفه.
· الزر Clear: يقوم بحذف جميع الكائنات الموجودة بالغرفة. وعند الضغط عليه تظهر رسالة تسالك ان كنت متاكدا من حذف جميع الكائنات بالغرفة.
· الزر Shift: عند الضغط عليه تظهر نافذة صغيرة تسمح لك بادخال قيم مقاسة بالبيكسل تخص موضع جميع الكائنات بالغرفة؛ قم بادخال القيمة التي تريد ان تتغير على وفقها مكان الكائنات عموديا او افقيا، ويمكن ادخال قيمة سالبة لتحريك الكائنات الى اليسار او الاعلى على وفق الخانات Horizontal او Vertical.
· الزر Sort by X: وهو مفيد في ترتيب الكائنات التي تظهر فوق بعضها بعضا جزئيا وذلك على وفق موضعها الراسي بالنسبة لبعضها بعضا.
· الزر Sort by Y: وهو مفيد في ترتيب الكائنات التي تظهر فوق بعضها بعضا جزئيا وذلك على وفق موضعها العمودي بالنسبة لبعضها بعضا.
· ترتيب الكائنات فوق بعضها بعضا: قد تتواجد بعض الكانات فوق بعضها بعضا وقد تريد مثلا ان تجعل الكائن الذي يقع تحت الكائنات الاخرى تظهر فوق الجميع او العكس، لفعل ذلك قم بالضغط على المفتاح Ctrl من لوحة المفاتيح واضغط بالزر الايمن للفارة على الكائن؛ هذا سيجعل الكائن الذي يقع تحت جميع الكائنات الاخرى يظهر فوق الجميع. ولعمل عكس ذلك -اي جعل الكائن الذي يقع فوق الكائنات الاخرى يظهر تحت الجميع- قم باتباع نفس الطريقة ولكن باستخدام المفتاح Alt بدلا من المفتاح Ctrl.
· حذف الكائنات: لحذف كائن ما قم باختيار <delete> من قائمة اختيار الكائن ثم اضغط بالزر الايسر للفارة على الكائن الذي تريد حذفه او استمر بالضغط على الزر الايسر للفارة مع سحب المؤشر فوق جميع الكائنات التي تريد حذفها من الغرفة. ويمكن حذف الكائنات في اي وقت بدون اختيار <delete> من قائمة اختيار الكائن وذلك بالضغط بالزر الايمن للفارة على الكائن المراد حذفه او استمر بالضغط على الزر الايمن للفارة مع سحب المؤشر فوق جميع الكائنات التي تريد حذفها من الغرفة. ولحذف مجموعة من الكائنات التي تقع تحت بعضها بعضا قم بالضغط على المفتاح Shift من لوحة المفاتيح ثم اضغط بالزر الايمن للفارة على الكائن الذي يقع فوق جميع الكائنات الاخرى، ويمكن عمل ذلك ايضا باستخدام الزر الايسر للفارة بشرط اختيار <delete> من قائمة اختيار الكائن.
القسم settings:لكل غرفة مجموعة من الاعدادات تظهر عند الضغط على settings من نافذة خصائص الغرفة، كما في الشكل 7-4:
الشكل 7-4: القسم settings
· الخاصية Name: هنا تغير اسم الغرفة.
· الخاصية Caption for the room: هنا تكتب عنوان الغرفة، وسيظهر هذا العنوان اثناء تشغيل اللعبة.
· الخاصية Width: هنا تغير عرض الغرقة مقاسا بالبيكسل.
· الخاصية Height: هنا تغير طول الغرفة مقاسا بالبيكسل.
· الخاصية Speed: هنا تغير سرعة اللعبة مقاسا بالخطوة في الثانية، كلما زادت سرعة اللعبة كلما زادت نعومة الحركة لكن ذلك سيحتاج حاسوبا سريعا نوعا ما، تعتبر السرعة الافتراضية وهي 30 خطوة في الثانية مناسبة في معظم الحالات.
· الخاصية Snap X: هنا تغير عرض الخطوط الشبكية.
· الخاصية Snap Y: هنا تغير طول الخطوط الشبكية.
· الزر Show: عند الضغط عليه تظهر قائمة تحوي مجموعة من الامور التي يمكنك اظهارها او اخفاءها اثناء العمل في البرنامج، ان كان الامر ظاهرا فستظهر علامة صح بجوار الامر في القائمة، اما ان كان الامر مخفيا فلن تظهر علامة الصح، وهذه الاوامر هي كما يلي:
الامر Show Objects: يقوم باخفاء او اظهار الكائنات في الغرفة.
الامر Show Back Tiles: ليس له تاثير في الطور البسيط.
الامر Show Front Ties: ليس له تاثير في الطور البسيط.
الامر Show Backgrounds: يقوم باظهار او اخفاء الخلفيات.
الامر Show Foregrounds: يقوم باظهار او اخفاء الخلفيات الامامية.
الامر Show Views: ليس له تاثير في الطور البسيط.
الامر Show Grid: يقوم باظهار او اخفاء الخطوط الشبكية، ويمكن الوصول اليه بواسطة مفتاح الاختصار Ctrl+G بشرط ان تكون نافذة خصائص الغرفة هي الفعالة في البرنامج.
القسم backgrounds:لقد تعلمنا في الدروس السابقة كيفية اضافة الخلفيات وكيفية التعامل مع نافذة خصائص الخلفية. وسنتعلم هنا كيفية استخدام تلك الخلفيات في لعبتك، ويستخدم القسم backgrounds في نافذة خصائص الغرفة لوضع الخلفيات في الغرفة، كما في الشكل 7-5:
الشكل 7-5: القسم backgrounds
· الامر Draw background color: باختياره يقوم البرنامج برسم لون كخلفية.
· الخاصية Color: عند الضغط على المستطيل الذي بجواره، ستظهر قائمة تحوي مجموعة من الالوان تختار منها لونا للخلفية، هذه الخاصية لا فائدة منها ان قمت بتعطيل اختيار الامر Draw background color.
· قائمة الخلفيات: يمكن استخدام ثمانية خلفيات مختلفة في الغرفة الواحدة ومن هذه القائمة تختار رقم الخلفية التي تريد استخدامها.
· الامر Visible when room starts: يحدد ما اذا كانت الخلفية المختارة مرئية عند تحميل الغرفة.
· الامر Foreground image: يحدد ما ان كنت تريد استخدام الخلفية كخلفية امامية، الخلفية الامامية تظهر فوق جميع الكائنات في الغرفة ويمكن الاستفادة من هذا الامر عندما تكون الخلفية شفافة كما تعلمت في الدروس السابقة.
· اختيار الخلفية: لاختيار الخلفية اضغط على المربع الازرق الصغير لاظهار قائمة تحوي جميع الخلفيات التي اضفتها الى لعبتك.
· الامر Tile Hor.: باختياره يقوم البرنامج بوضع نفس الخلفية على اليمين اذا كان عرض الخلفية اصغر من عرض الغرفة، وهذا الامر مفيد عندما تكون الخلفية صغيرة في حجمها ومصممة بطريقة بحيث ان وضعت بقرب بعضها بعضا افقيا تبدو وكانها صورة واحدة.
· الامر Tile Vert.: باختياره يقوم البرنامج بوضع نفس الخلفية على الاسفل اذا كان طول الخلفية اصغر من طول الغرفة. وهذا الامر مفيد عندما تكون الخلفية صغيرة في حجمها ومصممة بطريقة بحيث ان وضعت بقرب بعضها بعضا عموديا تبدو وكانها صورة واحدة.
· الخاصية X: وهو متغير يحدد موضع الخلفية بالنسبة للمحور الافقي. قم بادخال قيمة مقاسة بالبيكسل لتغيير موضع الخلفية افقيا في الغرفة.
· الخاصية Y: وهو متغير يحدد موضع الخلفية بالنسبة للمحور العمودي. قم بادخال قيمة مقاسة بالبيكسل لتغيير موضع الخلفية عموديا في الغرفة.
· الخاصية Hor. Speed: من هنا تستطيع تحريك الخلفية افقيا، القيمة صفر تعني ان الخلفية ثابتة على الاقل افقيا، القيمة الموجبة تعني ان الخلفية تتحرك نحو اليمين، القيمة السالبة تعني ان الخلفية تتحرك نحو اليسار.
· الخاصية Vert. Speed: من هنا تستطيع تحريك الخلفية راسيا، القيمة صفر تعني ان الخلفية ثابتة على الاقل عموديا، القيمة الموجبة تعني ان الخلفية تتحرك نحو الاسفل، القيمة السالبة تعني ان الخلفية تتحرك نحو الاعلى. اذا زودت الخاصيتين Hor. Speed وVert. Speed معا بقيمة غير الصفر فان الخلفية ستتحرك بشكل قطري وهذا يجب ان يذكرك بما يسمى في علم الفيزياء بالمحصلة Resultant.
الزر OK:
يحفظ التغييرات ويغلق النافذة.
================================================== ====================================