صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 42

الموضوع: GML - كل ما يتعلق بلغة الجيم ميكر

  1. #1
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    Post GML - كل ما يتعلق بلغة الجيم ميكر

    بسم الله الرحمن الرحيم

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

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

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

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

    هناك فروقات بين قطعة من الكود و السكريبت .. سنتكلم عنها لاحقاً.


    الفقرة الثانية ستكون عن المتغيرات.
    إلى اللقاء ....

  2. #2
    التسجيل
    28-10-2004
    الدولة
    in the demon world
    المشاركات
    420

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    مشكور أخوي Son Of UAE



    شكرا لأخوي FinalFantasy9 على التوقيع :icon6:






  3. #3
    التسجيل
    17-08-2003
    الدولة
    ::..U.A.E>A.D..::
    المشاركات
    585

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

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


    ..............................

    ....::::::..سبحان الله وبحمده:::سبحان الله العظيم..::::::....



  4. #4
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

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

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

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

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

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

    هذا ما تحتاج معرفته حالياً .

    الفقرة التالية عن المعادلات

  5. #5
    التسجيل
    19-01-2004
    الدولة
    الأحساء-السعوديه
    المشاركات
    287

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    مشكورررررررررررررر على الدرس الرائع

  6. #6
    التسجيل
    06-08-2004
    الدولة
    Saudi Arabia
    المشاركات
    1,754

    يعني الجيم ميكر

    أبي أعرف من هذا الدرس
    الـجـيـم مـيـكر
    لـغـة برمجة تنحط فيها الأكواد
    أو برنامج تصميم ينحط فيه الأكواد
    ؟؟؟؟؟؟؟؟؟؟؟؟
    و أنا متعجب من هذا البرنامج

  7. #7
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    مشاركة: يعني الجيم ميكر

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

  8. #8
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    المعادلات
    قبل البدء بالمعادلات. يجب معرفة بعض الاساسيات. اهمها تعريب المتغير ووضع قيمة له. ونحن تنحدث عن متغيرات الاوبجيك او المتغيرات الخاصة بك. ويتم ذلك عن طريق التالي:
    في الحدث 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);
     }
    وهكذا ...

    الفقره القادمة عن الادوات الشرطيّة.

  9. #9

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    موضوع أكثر من رااااائع
    هذا الموضوع راح يفيد الكثير من مبتدئي الجيم ميكر
    في إنتظار التكملة
    و شكراً لك على المجهود الرائع
    التعديل الأخير تم بواسطة Mr. Black Man ; 20-11-2004 الساعة 10:43 PM

  10. #10
    التسجيل
    06-08-2004
    الدولة
    Saudi Arabia
    المشاركات
    1,754

    مشاركة: يعني الجيم ميكر

    اقتباس المشاركة الأصلية كتبت بواسطة Son Of UAE
    برنامج تصميم ينحط فيه اكواد ...
    أحـيـن فهمت أنا كنت أدري أنه برنامج تصميم

  11. #11
    التسجيل
    11-04-2002
    الدولة
    سوريا
    المشاركات
    760

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    الله يعطيك العافية .. موضوع ممتاز هذه المواضيع التي نريدها في المنتدى .. دروس و تعليم من أجل تطوير هذا المنتدى .. الله يوفقك و يجعل هذا الموضوع في ميزان حسناتك .
    على فكرة بعض الأوامر اللي كاتبها مشابهة تماماً لأوامر ++C .. عجيب :icon16:
    لا إله إلا الله
    مشروع لتعليم أساسيات لغة الـ ++C :
    -
    موضوع لتعليم الفيجوال بيسك 6 :

  12. #12
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    الادوات الشرطية
    اعتبرها شخصياً اهم جزء بالبرمجة. لو تتقنها بشكل ممتاز سيسهل التعامل مع جميع المتطلبات الاخرى. هناك عدة ادوات ومن اهمها:
    If و Else
    While
    Do و Until
    سنتكلم بهذه الفقرة عن الادات If والتي تعني بالعربية " إذا ". فكيف يكون استخدامها؟ على حسب الشكل التالي يمكنك كتابة الادات في ابسط صورة:
    كود:
    {
    if (<expression>) <statement>
    }
    حيث ان 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 حيث هناك اسرار و اساليب كثيره لاستخدامها. و لا يمكن تصميم لعبة من غير هذه الادات. سنقوم بمراجعة الاستخدامات الاخرى للادوات الشرطية حيث انني لم اتعمق بالموضوع لجعله بابسط صوره.

    الفقرة التالية عن الدوال. وكيفية استخدامها.

  13. #13
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    اقتباس المشاركة الأصلية كتبت بواسطة Wolf Sniper
    على فكرة بعض الأوامر اللي كاتبها مشابهة تماماً لأوامر ++C .. عجيب :icon16:
    شكراً على شهادتك .. هذا هو المقصود بوضع هذي الدروس. تسهيل الانتقال للمرحلة التالية

    the kelar + الافاق + rayman4anime + MR. BLACK MAN = العفو .. و شكرا للتشجيع .

  14. #14
    التسجيل
    03-09-2003
    الدولة
    d=(n_n)=b دار بو خليفة d=(n_n)=b
    المشاركات
    1,096

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    ::

    ::

    هممممم

    good luck

    ::

    ::
    ::

    ::



    "التوقيع فوق التعديل لوووووول "

    3/12/2005...."and UAE Naruto...is back again"

    من مواضيعي

    "مؤقتاً ماشي مواضيع حلوة "

    ::

    ::

  15. #15
    التسجيل
    21-02-2003
    الدولة
    الإمارات العربية المتحدة
    المشاركات
    2,350

    مشاركة: GML - كل ما يتعلق بلغة الجيم ميكر

    الدوال 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. ساقوم بشرح مفصل لاحقاً

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

    الفقرة التالية عن كيفية قراءه كتاب المساعدة.

صفحة 1 من 3 123 الأخيرةالأخيرة

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •