LearnGM
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

بعض الاساسيات بلغة الجيم ميكر GML .

استعرض الموضوع التالي استعرض الموضوع السابق اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف Abdullah Alsayed السبت مارس 31, 2012 11:08 am

بعض الاساسيات بلغة الجيم ميكر GML . 4020826452

GML هي اللغة المستخدمة بالجيم ميكر. بها الكثير من الاوامر و المتغيرات التي تساعد على تصميم الالعاب بسهولة و مرونة اكثر. و يمكنك التحكم بجميع خصائص اللعبة ايضاً. الهدف من هذا الموضوع هو جعلك قادرا على تصميم اكوادك الخاصة و ليس نسخها من هنا وهناك. ستكتشف بعد فترة من الزمن وبعد متابعة الدروس القادمة انه بإمكانك الاستمرار لوحدك و الدخول بالاوامر الاكثر تعقيداً من غير الحاجة للعوده إلى هنا.

ولكن لماذا نستخدم اللغة بالرغم من وجود بعض ايقونات الاوامر ؟
لعدة اسباب وأهمها على حسب اعتقادي.
- سهولة كتابة الاوامر و تصميم الحركات التي تريدها ( بعد ان تعتاد على الاوامر).
- السرعة في تتبع الاخطاء و سهولة متابعة الاوامر بالكود الواحد وفهم ما بالكود بنظرة واحدة.
- وجود اوامر اكثر باللغة عن التي هي موجوده بالايقونات.
- سهولة نقل الاكواد من اوبجيكت لاخر عن طريق ( النسخ و اللصق).
- سيكون بداية انطلاقك إلى عالم البرمجة الحقيقة بسبب التشابة الكبير بينهما.

لمذا اصبحت اللغة GML اسهل من السابق؟
- وجود كتاب المساعدة الذي يحتوي على جميع الاوامر و قواعدها. مع الامثلة للبعض.
- تقوم واجهة البرنامج بتلوين النص على حسب نوع الكلمه المستخدمة .
- وجود كاتب سريع يتتبع الاوامر و يساعدك في اختصار كتابتها في اسفل واجهة البرنامج.

أين ابداء البرمجة بالجيم ميكر؟
البرمجة تكون لشيئين. الاول هو الاوبجيكت Object والثاني هو الروم Room.
في حالة كتابة الكود للروم فانه عليك دخول الي خصائص الروم المطلوب ثم الدخول الي الاعدادات Settings. ستجد زر صنع الاكود Create Code . اضغط علية لتتمكن من البدء بالبرمجة فيه.
في حالة كتابة الكود للاوبجيكت فهناك مكانين:
الاول هو قطعة من الكود Piece of Code: يمكنك ضعها في الحدث event المناسب وبداء كتابة اوامر البرمجة بها.
الاثاني هو السكريبت Script : يمكنك كتابة اوامر البرمجة بها و ستكون محفوظة مع المصادرResources وعند الانتهاء يمكنك وضعها بأي اوبجيكن و بأي حدث.


المتغيرات
في البداية, يجب معرفة ان المتغيرات هي حاويات لقيم عددية او احرف. او بالاحرى المتغيرات هي عناوين لمواقع في ذاكره الكمبيوتر تحوي قيم معينه. و الجدير بالذكر ان متغيرات الجيم ميكر تنقسم إلى ثلاثة اقسام.

القسم الاول : المتغيرات العالمية Global Variables
وهي متغيرات لا يمكن تغير محتواها و لكن يمكن الاستفاده منها. وغالبا ما تكون هذي المتغيرات تفيدك بمعلومات عن جهازك. او عن اللعبة نفسها. و خير مثال هو الامر التالي
mouse_x هذا الامر يعطيك موقع مؤشر الفاره على حسب موقعها من واجهة اللعبة
وايضاً
current_minute فهذا المتغير يعطيك عدد الدقائق على حسب ساعة جهازك.

القسم الثاني: متغيرات الاوبجيكت Objects Variables
وهي متغيرات تكون موجوده افتراضيا مباشرةً بعد وضع اوبجيكت في الروم. ومن اهمها
x و y حيث انهما يدلان على موقع الاوبجيكت في الروم

القسم الثالث : المتغيرات الخاصة بك
وهي متغيرات انت تقوم بتحديدها لغرض ما باللعبةز عادةً تكون اما عداد لشيء ما او مؤقت لغرض معين. و مثال عليها
money= 0 و هو متغير قمت انا بوضعه و هو غير معروف للجيم ميكر و جعلت قيمته صفر. واريد ان استخدمه كعداد للنقود التي ساجمعها باللعبة.

لا تنسى ان تسمية متغيراتك الخاصة لها شروط
- ان لا تتعدى 64 حرف
- ان تبداء بحرف
- ان تستخدم حروف او ارقام او خط السفلي ( _ ) فقط !
- يكون باللغة الانجليزية و يجب ان تنتبه للحروف الكبيرة و الصغيره.

المعادلات
قبل البدء بالمعادلات. يجب معرفة بعض الاساسيات. اهمها تعريب المتغير ووضع
قيمة له. ونحن تنحدث عن متغيرات الاوبجيك او المتغيرات الخاصة بك. ويتم
ذلك عن طريق التالي:
في الحدث Create لكل اوبجيكت يجب تسمية المتغيرات و ووضع قيمه لها. ومثال
على ذلك لو كنت تريد صنع بطل له سلاح به عدد 10 من الطلقات و طاقته تساوي
100 و له 3 ارواح. فيكون كالتالي:

الكود:

   weapon =10;
health= 100;
live = 3;

نلاحظ وجود فاصلة منقوطه في نهاية كل سطر. لندل البرنامج على نهاية السطر او المعادلة.

أثناء اللعب. تحث بعد التغيرات في القيم. وذلك من خلال عمليات حسابية بسيطة و اهمها:
الجمع
الطرح -
الضرب *
القسمة /

علينا معرفة كيف استخدام هذه الادوات البسيطه. مثلاً لو اردنا ان ننقص عدد
الطلقات للسلاح بمقدار (واحد) عن كل طلقة يقوم اللاعب بها فماذا نفعل ؟ في
المثال الاول اعطينا المتغير قيمه ثابته و هي 10. ولكن الان نحتاج الي
معادلة تساعدنا على انقاص قيمة الطلقات بمقدار (واحد) لكل طلقة دون الحاجه
لمعرفة كم طلقة موجوده عندنا حالياً.ويتم ذلك بأحد الطرق التالية:



كود:
الكود:

weapon -= 1;
او


كود:
الكود:

   weapon = weapon -1
الطريقة الاولى هي ان هذه المعادلة تقوم باخذ القيمة الموجوده
بالمتغير weapon و انقاص منها بالقيمة الموجوده بعد الاشارة يساوي. وهي في
مثالنا تساوي (واحد).
الطريقة الثانية هي ابسط للمبتدئين.حيث انك تستطيع ان ترى ما هي القيم
المتوفره و كم الناتج الذي سيخرج لك في المتغير weapon. فلو كان المتغير
يساوي (7) فان المعادلة تصبح


كود:
الكود:

   weapon = 7 - 1;
ويكون الناتج هو (6). اليس الامر سهلاً ؟

يمكن تطبيق هذه الطريقتان لكل من الادوات الحسابية المتوفره. علماً بان
هناك المزيد. ولكن كمبتدئين, هذا يفي بالغرض. وهنا بعض الامثلة لاستخدام
المعادلات البسيطة.



كود:
الكود:

   {
score = 100*5;
live = live  1;
speed /= 100 (score*live);
 }
وهكذا ...

الادوات الشرطية
اعتبرها شخصياً اهم جزء بالبرمجة. لو تتقنها بشكل ممتاز سيسهل التعامل مع جميع المتطلبات الاخرى. هناك عدة ادوات ومن اهمها:
If و Else
While
Do و Until
سنتكلم بهذه الفقرة عن الادات If والتي تعني بالعربية " إذا ". فكيف يكون
استخدامها؟ على حسب الشكل التالي يمكنك كتابة الادات في ابسط صورة:


كود:
الكود:

   {
if ()
}
حيث ان expression هي المعادلة للجملة الشرطية. فإذا كان الجواب صحيحاً فانه يقوم بقراءه الامر الذي يليه مباشرة. وهو statement.
ولتسهيل فهم الطريقة نحاول ان نعطي عبارة يفهمها الانسان ونحولها إلى لغة
بسيطة للجهاز ليقوم هو لاحقاً بتحويلها إلى لغة الالة. فنقول:
لو كان عندنا شخصية تجمع التفاح في احد الالعاب. فلو جمع 100 تفاحة فانك
تسمع صوت يعلمك بذلك. و بطريقة اخرى , انه " إذا " كان عدد التفاحات يساوي
100 " فأنه " يسمع صوت معين.
لا حظ ان " إذا " هي الادات الشرطية IF و "التفاحات يساوي 100" هي
المعادلة الشرطية و " فأنه " هي عبارة عن بداية الناتج و تكتب Then. كما
بالكود التالي:

الكود:

   {
If (apples == 100) Then
    sound_play(sound01);
}
لاحظ وجود اقواس على المعادلة الشرطية فهي مهمة لتوضيح مكان
المعادلة. ولو تلاحظ أننا وضعنا اشارتين يساوي فهذي تدل على ان المعادلة
موجودة للمقارنه بين قيمتين. فكانت المقارنه هي هل عدد التفاحات يساوي
العدد 100.
ماذا لو اردنا ان يحدث عدد من الاشياء بعد اكتمال الشرط ؟ مثال على ذلك. بعد جمع 100 تفاحة فانه:
1 - تسمع صوت
2 - يصبح حدد التفاحات يساوي صفر
3 - يزداد عدد الارواح بمقدار 1

تقوم الادات IF بقراءة السطر الذي يليها مباشرة لو كانت الاجابة صحيحة
True و يقوم بتجاوزها و الانتقال للجملة التي بعدها لو كانت خاطئة False.
ولكن بستخدام الاقواس {} فاننا نحدد للادات اي مجموعة من الاسطر التي يجب
قرائتها إذا كانت الاجابة صحيحة.

هنا مثال على شاكلة السابق يبين ما يحدث بالتفصيل. عند اخذ اي تفاحة فان
النقاط Score تزيد بمقدار 100. ونسمع صوت Sound01 يدل على اخذ التفاحة
ويزيد عدد التفاح بمقدار واحد. ولكن لو اصبح عدد التفاح يساوي 100 فان
اشياء اضافية تحدث مثل صوت اخر Sound02 يدل على بلوغ ال100 تفاحة و يصبح
عدد التفاح apples يساوي صفر. و الارواح lives تزيد بمقدار واحد.
في الحدث Collision للتصادم بين اللاعب و التفاحة نضع هذا الكود.


كود:
الكود:

   {
score = score  100;
apples = apples  1;
sound_play(Sound01);
if (apples ==100) then
    {
    sound_play(Sound02);
    apples = 0;
    lives = lives  1;
    }
}
من هذا الكود لو تتبعه سطر بسطر ستلاحظ اني قمت بتحويل المثال السابق الي كود بسيط تستطيع فهمه و يستطيع الجهاز فهمه ايضاً.
لا اريدك ان تنسى ان ادات المقارنه ليست فقط يساوي انما هناك اشارات اخرى
مثل " اكبر من " > او " اصغر من او يساوي" <= و العديد منها: كما
بالتالي :
< <= == != > >=

هذه الفقرة عبارة عن خلاصة لاستخدامات الادات IF حيث هناك اسرار و اساليب
كثيره لاستخدامها. و لا يمكن تصميم لعبة من غير هذه الادات. سنقوم بمراجعة
الاستخدامات الاخرى للادوات الشرطية حيث انني لم اتعمق بالموضوع لجعله
بابسط صوره.

الدوال Functions
الدوال هي عبارة عن اوامر مبنية بلغة الجيم ميكر لتساعدك على اختصار بعض
العمليات المطلوبة لبرمجة الالعاب. واحب ان اقسم انواع الدوال في الجيم
ميكر إلى ثلاثة انواع. و قبل البدء اود ان اوضح ان شكل الدالة هو عبارة عن
أمر يلية قوسين كما بالمثال التالي:


كود:
الكود:

   sound_play(sound01);
وهو نفس الكود الذي استخدمناه بالفقرة السابقة لتشغيل صوت معين.

النوع الاول: هي الدالة التي تقوم بوظيفة معينة من غير الحاجة إلى ادخال معطيات بها. ومثالها


كود:
الكود:

   instance_destroy();
وهي تقوم بتدمير الاوبجيكت الخاص بها. لاحظ انه لايوجد شيء بين القوسين. أي اننا لم ندخل اي معطيات او بيانات بها.

النوع الثاني: هي الدالة التي ندخل بها بعض البيانات لتقوم بوظيفة معينه.
ويجب ان تكون البيانات مقبولة من قبل الدالة لتفادي الأخطاء ومثالها:


كود:
الكود:

   sleep(numb);
حيث ان هذه الدالة تقوم بتجميد اللعبة بعدد الموجود بين القوسين و هذي الوحده مكتوبة بالجزء من الثانية.

النوع الثالث: هو النوع الذي يقوم بارجاع معلومات لك والمعروف بكلمة
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. ساقوم بشرح مفصل لاحقاً

عند الانتهاء من هذي الفقره. يجب ان تعلم بانك تعلمت اهم الاساسيات
المطلوبه وكل ما تبقي هو قيامك بتشغيل البرنامج وفتح ملف المساعده و البدء
بتصميم اكوادك الخاصة.

استخدام ملف المساعدة
في هذه الفقرة سوف تتعلم كيفية استخدام ملف المساعدة المرفق مع برنامج
الجيم ميكر . قد يعتقد البعض انه غير مفيد . لكني أؤكد ان ملف المساعده هو
افضل و اسرع و احسن مرجع للجيم ميكر. حيث يحتوي على جميع الشروحات و بعض
الامثلة للكودات. ساقوم بنسخ ولصق بعض الاوامر و سوف اقوم بتفسيرها إلى أن
تتمكن من قراءه الاوامر الاخرى بنفسك. ومنها يمكن تصميم العابك بسهولة و
يسر. وكالمعتاد , سوف نبحث عن الاوامر البسيطة كبداية. ثم ننتقل للمراحل
التي هي اصعب.

عند فتح ملف المساعده, تختار فصل لغة الجيم ميكر ومنه تجد عدة وحدات مقسمة بطريقة منسقة وبسيطة. و اهم الوحدات المطلوبة كمبتدئين هي:
الحسابات = Computing things
اللعب = Game play
واجة المستخدم او التحكم = User interaction
الرسومات = Game graphics
الاصوات و الموسيقى = Sound and music


والان نبداء بقراءة المثال الاول:


كود:
الكود:

   abs(x) Returns the absolute value of x.
هذا النص منسوخ من ملف المساعده ولو نقراء الامر abs فهو اختصار
لكلمة absolute value ومعناها القيمة المطلقة. نعم بالفعل. هي نفس القيمة
المطلقة التي سمعت بها في حصص الرياضيات. وكما تعلمت سابقاً. الامر السابق
هو عبارة عن دالة Function تدخل فيها قيمة معينة. ولقد وضع لها المتغير x
للتعبير عنها فقط ( ليس شرط ان يكون الحرف x بين القوسين ) ومن كلمة
Returns أي ترجع. نستنتج ان لها قيمة عائدة. وتكون القيمة العائده هي
القيمة المطلقة للقيمه المدخلة. يبدو الامر معقداً ؟ تابع المثال التالي:


كود:
الكود:

   get_value = abs(vspeed);
حيث نقوم بحفظ القيمة المطلقة للمتغير vspeed ( السرعة الافقية ) في المتغير get_value ( متغير خاص بك)
فلو كان vspeed = 15 فإن get_value = 15
ولو كان vspeed = -20 فإن get_value = 20

أليس الامر سهلاً ؟

نجرب مثال اكثر تعقيداً:


كود:
الكود:

   random(x) Returns a random real number between 0 and x. The number is always smaller than x.
في هذه الدالة نرى الامر Random ومعنى الكلمة هو عشوائي. وتفسير الجملة هو :
يرجع رقم حقيقي عشوائي بين الصفر و المتغير. ويكون الرقم دائماً اصغر من المتغير.
تأمل جيداً . هل عرفت الحل ؟ ماذا لو كان المتغير يساوي 5. كم تتوقع ان تكون الاجابة ؟ من كم إلى كم ؟
لو كان تخمينك صحيحاً 100% . سيكون الجواب هو " بين 0 و 4.9999999999 ".
قد يتسأل البعض ؟ لماذا لم يكن الجواب هو بين 0 و 4 ؟ الجواب هو ان مصمم
البرنامج قام بتصميم الامر بهذه الطريقة لكي يستفاد منها بطرق اخرى لاحاجة
لشرحها الأن.

سنقوم الان بخطوه جديده من نوعها . وهي دمج دالتين بحيث اننا نحصل على رقم صحيح عشوائي. وذلك عن طريق الدالتين :
random و round
والدالة Round هي ااتقريب لأقرب عدد صحيح Integer ( كما هو موجود بملف المساعدة )
ولكن نريد ان يكون الناتج هو من 0 الي 9 . وجميعها اعداد صحيحة. يكون ذلك كالتالي:


كود:
الكود:

   {
range = 10;
get_value = round(random(range));
 }
سيقوم الجهاز بتنفيذ الامر الذي بين الاقواس اولاً. ( كما درست
بالرياضيات) اي ان الناتج سيكون بين 0 و 9.99999999 . فقد يكون
3.535642114 و قد يكون غيره . وهذا ما لا نريده. نقوم بالتخلص من الكسور
عن طريق الدالة round حيث تحول القيمه 3.535642114 الي 3 وترجعها بالمتغير
get_value.


نوع اخر من القرائات بملف المساعدة. عباره عن شرح للمتغيرات الخاصة بالاوبجيكت. وهي مفيده جداً. ومن امثلتها :


كود:
الكود:

    x Its x-position.
y Its y-position.
xprevious Its previous x-position.
yprevious Its previous y-position.
xstart Its starting x-position in the room.
ystart Its starting y-position in the room.
وهي موضوعة بطريقة سهل و مرتبة. لاحظ انه يمكنك تغير جميع
المتغيررات السابقة. ولكن يجب ان تعلم ان هناك قيم لا يمكن تغيررها. لكن
يمكن الاستفاده منها. وامثلتها :


كود:
الكود:

   fps* Number of frames that are actually drawn per second.
current_time* Number of milliseconds that have passed since the system was started.
current_year* The current year.
current_month* The current month.
current_day* The current day.
هذا ما تحتاجه حالياً بخصوص الملف المساعدة . يفضل المرور على
الدوال المتوفره بالبرنامج ليكون لديك فكره عن قدرات الجيم ميكر قبل البدء
بتصميم العابك . مجرد تصفح سريع للملف.


منقول ..
Abdullah Alsayed
Abdullah Alsayed
Admin
Admin

الجنس : ذكر
عدد المساهمات : 1791



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف ball السبت مارس 31, 2012 12:54 pm

رائع أدمن صراحة استفدت كثيراً جداً من هذا الدرس !

أشعر بأنني قريباً سأكون بارعاً في كتابة الأكواد الصعبة !

شكراً جزيلاً لك !
avatar
ball
Lessons Moderator
Lessons Moderator

الجنس : ذكر
عدد المساهمات : 563
الأوسمة :


بعض الاساسيات بلغة الجيم ميكر GML . Small10

بعض الاساسيات بلغة الجيم ميكر GML . Award10

بعض الاساسيات بلغة الجيم ميكر GML . 2nd10

بعض الاساسيات بلغة الجيم ميكر GML . 2nd-ic10

بعض الاساسيات بلغة الجيم ميكر GML . Help10
وسام المساعدة

بعض الاساسيات بلغة الجيم ميكر GML . Drss7s10
وسام الدرس الحصري





الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف Hopa السبت مارس 31, 2012 1:11 pm

مشكور ادمن استفدت كثيرا من هذا الدرس
Hopa
Hopa
 
 

الجنس : ذكر
عدد المساهمات : 596
الأوسمة :
بعض الاساسيات بلغة الجيم ميكر GML . Help10
وسام المساعدة




الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف abd-alrahman السبت مارس 31, 2012 1:32 pm

thank you thank you thank you
abd-alrahman
abd-alrahman
Global Moderator
Global Moderator

الجنس : ذكر
عدد المساهمات : 757
الأوسمة :
بعض الاساسيات بلغة الجيم ميكر GML . Grapgh10
وسام الجرافيك

بعض الاساسيات بلغة الجيم ميكر GML . Help10
وسام المساعدة

بعض الاساسيات بلغة الجيم ميكر GML . Drss7s10
وسام الدرس الحصري




الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف Abood Studio السبت مارس 31, 2012 2:51 pm

Thanks Thanks Thanks
Abood Studio
Abood Studio
 
 

الجنس : ذكر
عدد المساهمات : 667
الأوسمة :


بعض الاساسيات بلغة الجيم ميكر GML . Award10


بعض الاساسيات بلغة الجيم ميكر GML . Drss7s10
وسام الدرس الحصري

بعض الاساسيات بلغة الجيم ميكر GML . Help10
وسام المساعدة





الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف ShArP bLaDe السبت أبريل 14, 2012 9:38 am

انا كنت عارف حاجات فى الـGMl لكن شكرا جدا cheers
avatar
ShArP bLaDe
 
 

الجنس : ذكر
عدد المساهمات : 129
الأوسمة :


بعض الاساسيات بلغة الجيم ميكر GML . Award10


بعض الاساسيات بلغة الجيم ميكر GML . 1st-ic10





الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف Dark Man الأحد مايو 20, 2012 12:05 am

thank you thank you thank you thank you thank you thank you thank you thank you thank you thank you thank you thank you thank you thank you
Dark Man
Dark Man
 
 

الجنس : ذكر
عدد المساهمات : 176
الأوسمة :


بعض الاساسيات بلغة الجيم ميكر GML . Award10



بعض الاساسيات بلغة الجيم ميكر GML . 3rd-ic10




الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف عاشق الجيم ميكر الخميس مايو 24, 2012 3:36 am

thank you thank you thank you thank you thank you
عاشق الجيم ميكر
عاشق الجيم ميكر
Discussion Moderator
Discussion Moderator

الجنس : ذكر
عدد المساهمات : 728
الأوسمة :


بعض الاساسيات بلغة الجيم ميكر GML . Small-10


بعض الاساسيات بلغة الجيم ميكر GML . Award10

بعض الاساسيات بلغة الجيم ميكر GML . 1st10
بعض الاساسيات بلغة الجيم ميكر GML . N210

بعض الاساسيات بلغة الجيم ميكر GML . Drss7s10
وسام الدرس الحصري

بعض الاساسيات بلغة الجيم ميكر GML . Help10
وسام المساعدة





الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف amir1994 الأربعاء سبتمبر 12, 2012 4:21 pm

مشكوووووووووووووووووووووور
amir1994
amir1994
 
 

الجنس : ذكر
عدد المساهمات : 5



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف saed الأحد مارس 31, 2013 5:32 pm

شكرا جزيلا لك ..

حاليا أنا مبتدىء وأن شاء الله أني أستفيد من شرحك...
saed
saed
 
 

الجنس : ذكر
عدد المساهمات : 1



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف abdosalem الخميس يونيو 13, 2013 2:37 pm

Thanks
abdosalem
abdosalem
 
 

الجنس : ذكر
عدد المساهمات : 235



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف omar -ofo الثلاثاء أغسطس 06, 2013 12:35 am

thank you
omar -ofo
omar -ofo
 
 

الجنس : ذكر
عدد المساهمات : 46



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف abdalluh الإثنين أكتوبر 28, 2013 2:31 pm

مشكور الف شكر
ولكن عندي سوال لو نفذ الweapon
كيف اخلي الطلقات لاتطلق
abdalluh
abdalluh
 
 

الجنس : ذكر
عدد المساهمات : 43



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف ALMEHMADI الخميس نوفمبر 21, 2013 11:57 am

الله يعطيك العافيه يا BOSS..... ..راااااااااائع ومبدع ... أفدتنا وأمتعتنااااا... لك منا خااااااااااااالص الشكررر...

THANK YOU ADMIN>
ALMEHMADI
ALMEHMADI
 
 

الجنس : ذكر
عدد المساهمات : 89



الرجوع الى أعلى الصفحة اذهب الى الأسفل

بعض الاساسيات بلغة الجيم ميكر GML . Empty رد: بعض الاساسيات بلغة الجيم ميكر GML .

مُساهمة من طرف امير الالعاب الخميس نوفمبر 28, 2013 8:20 pm

ااتمنى ان يثبت الدرس فهو مفيد جدا
امير الالعاب
امير الالعاب
 
 

الجنس : ذكر
عدد المساهمات : 123



الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع التالي استعرض الموضوع السابق الرجوع الى أعلى الصفحة

- مواضيع مماثلة

صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى