الدوال Functions
الدوال هي عبارة عن اوامر مبنية بلغة الجيم ميكر لتساعدك على اختصار بعض العمليات المطلوبة لبرمجة الالعاب. واحب ان اقسم انواع الدوال في الجيم ميكر إلى ثلاثة انواع. و قبل البدء اود ان اوضح ان شكل الدالة هو عبارة عن أمر يلية قوسين كما بالمثال التالي:
كود:
sound_play(sound01);
وهو نفس الكود الذي استخدمناه بالفقرة السابقة لتشغيل صوت معين.
النوع الاول: هي الدالة التي تقوم بوظيفة معينة من غير الحاجة إلى ادخال معطيات بها. ومثالها وهي تقوم بتدمير الاوبجيكت الخاص بها. لاحظ انه لايوجد شيء بين القوسين. أي اننا لم ندخل اي معطيات او بيانات بها.
النوع الثاني: هي الدالة التي ندخل بها بعض البيانات لتقوم بوظيفة معينه. ويجب ان تكون البيانات مقبولة من قبل الدالة لتفادي الأخطاء ومثالها: حيث ان هذه الدالة تقوم بتجميد اللعبة بعدد الموجود بين القوسين و هذي الوحده مكتوبة بالجزء من الثانية.
النوع الثالث: هو النوع الذي يقوم بارجاع معلومات لك والمعروف بكلمة Return. وهي من اهم الانواع لكفائتها بختصار البرمجة بشكل عام. ستلاحظ ذلك بعد قيامك بتصميم لعبتك لاحقاً. ومثال ذلك:
كود:
instance_create(x,y,obj);
وهذه الدالة تقوم بصنع اوبجيكت جديد بالروم حيث اننا ادخلنا ثلاث معطيات و هي الموقع بالطول X و الموقع بالعرض Y و اسم الاوبجيكت. ( على حسب تسميتك له ). ولكن اين القيمة العائدة وما هي ؟ القيمة العائدة Return هي رقم التعريفي للاوبجيكت الذي صنعته و المعروف بID. حيث ان لكل اوبجيكت رقم تعريفي خاص. حتى لو كانوا من نفس النوع. القيمة العائدة لم يستفد منها بالمثال السابق. و بالمثال التالي سوف اريكم كيف نستفيد منها. نفرض اننا نصمم لعبة حيث يقوم البطل باطلاق النار باتجاهين مختلفين بنفس الوقت. لا داعي لتصميم طلقتين واحد لليمين و الاخرى لليسار. كل ما عليك فعله هو كتابة كود بنفس طريقة التالي. حيث ان اسم الطلقة هو shot و اسم المتغير الذي سيحفظ الرقم التعريفي للمتغير هو new_shot.
كود:
{
new_shot = instance_create(x,y,shot);
new_shot.hspeed = 10;
new_shot = instance_create(x,y,shot);
new_shot.hspeed = -10;
}
لاحظ ان الكود يكتب مثلاً في حدث الضعط على الزر مسافة في اوبجيكت البطل. و يكون المتغيران x و y عائدان للبطل . اي ان الطلقات تخرج من البطل. و استخدمنا hspeed وهو متغير للاوبجيت بعطيه سرعة افقية. بالطلقة الاولى جعلناها تنطلق الي الجهة اليمنى حيث كانت الاشارة موجبة. و الى الجهة اليسرى للطلقة الثانية بوضع اشارة سالبة.
قد يستغرب البعض من السطر التالي حيث اني لم اشرح هذا التركيب الغريب:
كود:
new_shot.hspeed = 10;
بختصار. تستخدم هذي الطريقة لاستخدام متغيرات اوبجيكت اخر في اي وقت. وفي مثالنا حددنا الاوبجيكت المطلوب وهو الذي تم حفظ رقمه التعريفي بالمتغير new_shot و من ثم حددنا المتغير الخاص به المطلوب تغييره وهو hspeed. ساقوم بشرح مفصل لاحقاً
عند الانتهاء من هذي الفقره. يجب ان تعلم بانك تعلمت اهم الاساسيات المطلوبه وكل ما تبقي هو قيامك بتشغيل البرنامج وفتح ملف المساعده و البدء بتصميم اكوادك الخاصة.
الفقرة التالية عن كيفية قراءه كتاب المساعدة.