موضوع: سلسلة دروس 3D Game Studio :: الدرس الثاني

ردود: 7 | زيارات: 1579
  1. #1

    Smile سلسلة دروس 3D Game Studio :: الدرس الثاني

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

    السلام عليكم

    الدرس الثاني : البنية الأساسية للبرمجة الكائنية

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

    وكما قلنا سابقاً نحن لا نفترض إلمامك بأي شيء (تذكر هذا )

    (1) مقدمة عن C - SCript :

    أولاً ماهي لغة برمجة ؟

    وأنت تتصفح هذا الدرس اضغط على (عرض-> المصدر)
    أو (Source <- View ) .... هذه هي البرمجة

    كل ما أمامك هو لغة برمجة ... استرح قليلاً وتخيل كيف تم برمجة ما أمامك !

    هل هذا هو ناتج 01 ... هل هذا معقوووول !!!!

    0 : لا إشارة

    1 : إشارة

    نعم لأن البرمجة كائنية ولو هي إجرائية (فلسفة من عندي)

    أنا لا أقصد لغة بحد ذاتها ولا كن أقصد تراكب اللغات

    فمن 01 ومن الدوائر الإلكترونية #### حتى توصلنا إلى السكربت

    فمالمراحل التي في #### ......... اتركها لك

    عموماً

    C - SCript مشتقة من ++C بشكل كامل تقريباً مع المزيد من التسهيلات

    يعني المواضيع (الغثيثة) في السي ماهي موجودة هنا

    ورأيي الشخصي أن كنا نعتبر HTML لغة فـ S-Script لغة من باب أولى

    وتشابه الجافا مع السي أتى من صالحهم ( من صالح من تعلم الجافا وأتى لل C - Script )

    وفائدة السكربت هو أنه يختصر أوااااامر كثيرة ويسهل العمل بشكل سرييع وبيسط جداً

    وهنالك طريقتين (بالطبع بعد تعلم السكربت ) لتطوير قدراتك فيه :

    1- انضر إلى السكربتات الجاهزة وحررها (بعد فهم ..المهم الفهم ) .. هذه الطريقة تجلعك مرن جداً مع السكربت

    2- عندما أعرض مثال أو تطبيق حاول الإضافة من عندك حتى تصل إلى أكبر قدر من الفهم

    تذكر ## قيل لمخترع الإضاءة :: أنت فشلت في عمل الإضاءة 99 مره

    فقال :: لا ولكني إكتشفت 99 طريقة خاطئة في عمل الإضاءة

    بالطبع تعرفون (من الدرس الأول) فائدة السكربت وطريقة عمل اللعبة

    فلن أضيع المزيد من الوقت في هذا
    __________________________________

    (2) مدخلك إلى C - SCript :

    أن كنت مبرمج ++C او جافا فستعشق هذا الفصل

    ## أعيد وأكرر الدروس على برنامج A5 ##

    إفتح برنامج WAD

    إختر File ثم Open ..ثم إلنتقل إلى المجلد Work ثم إفتح Office

    الآن إختر Build وستنبثق مربع :: أزل علامة الصح أمام Fly - Thru وانقر على OK

    الأن أنت بنيت المرحلة .... بقي ربطها مع السكربت

    أختر Run ليتم الربط ...

    وبعد أن تشتغل العبة ... من الكيبورد اضغط على زر TAP

    سيخرج سطر في الأسفل وهو سطر التعليمات

    أكتب فيه

    كود:
    time_factor = 5 ;  //dauble the speed of everythings 5 times


    الكلام بعد // لمجرد الشرح ولن يؤثر في شيء
    كتبته أو لم تكتبة فلن يقرأه البرنامج طالما أنه مسبوق بـ //

    المهم هو time_factor = 5 ;

    لن أخبرك بالنتيجة شاهدها بنفسك

    هذا فقط لكي نقطة أخرى من مزايا 3D Game Studio

    ولكي ترى حقيقة تعامل البرنامج مع التعليمات المرسلة له

    بالطبع ستكتب أكوادك قبل اللعبة

    وهذا ما سنفعله الآن :

    إفتح WED واختر New ثم قم بعمل Save As الملف بإسم Tot1

    أختر File ثم MAP properties ثم New



    لقد حفظ ملف بإسم Tot1.wdl ... فما هذا الملف

    لو تذكر من الدرس الأول أن الاحقة wdl تدل على أنه ملف سكربت ... هذا صحيح

    الآن إفتح هذا الملف ولو طلب منك إختيار برنامج لفتحه إختر NotePad

    ستشاهد الكود الأولي

    3D Game Studio يقوم بإنشاء كود إفتراضي لإراحتك من الروتين

    ثم تقوم بتعدليها إلى الكود المطلوب

    ستشاهد شيئاً كالآتي :

    كود:
    ///////////////////////////////////////////////////////////////////////////////////
    // Office test level
    ///////////////////////////////////////////////////////////////////////////////////
    path "..\\template"; // Template path
    include <movement.wdl>; 
    include <messages.wdl>;
    include <doors.wdl>;
    ...
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    // After starting the engine the MAIN-function will execute. To laod a level
    // you must run a level_load instruction inside.
    
    function main() 
    {
    ...
    سأقوم بالشرح (وليس من المفترض أن تفهم من أول مره)
    وليس المطلوب هنا الفهم أساساً ... فلم نبدأ حتى الآن في شيء
    ولكن لكي تطمأن أن ما يكتب هنا ليس مجرد طلامس × طلامس
    على كل حال :

    كما قلنا كل ما بعد ( // ) لن يقرأه في البرنامج فهو لمجرد شرح الأوامر المكتوبة

    كود:
    path "..\\template"; // Template path
    يمتلك البرنامج ملفات من أصوات وصور وWDLs وهي داخل المجلد Template وهذا موقعه بكشل افتراضي على القرص الصلب
    ولو شغلت اللعبة لوجدت أصوات ....إلخ فاللعبة تأخذها من المجلد Template .. فكيف عرف البرنامج موقعها

    عرفها من

    كود:
    path "..\\template"; // Template path
    فال الأمر Path يحدد مجلد المصادر (المجلد الذي يوجد فيها ملفات اللعبة )

    ولكن ما معنى ( path "..\\template"; ) ؟

    مجلد Template
    هذا موقعه بكشل افتراضي على القرص الصلب
    كود:
    C:\Program Files\GStudio\template
    وأما موقع المثال هو :

    كود:
    C:\Program Files\GStudio\work
    وتلاحظ أن كلاهما يقعون داخل GStudio ولاكن في تفرعات مختلفه

    ولقد قلنا للعبة أن مسار مجلد المصادر هو :

    أخرج عن المجلد الحالي إلى المجلد الأصلي ...قلناها في ".."

    فأصبح المسار حتى هذه اللحظة :

    كود:
    C:\Program Files\GStudio
    أدخل على المجلد Template ..قلناها في "template\\"

    فأصبح المسار

    كود:
    C:\Program Files\GStudio\template
    ....... أرجوا أن أكون وضحت المعنى !

    أما

    كود:
    include <movement.wdl>; 
    include <messages.wdl>;
    include <doors.wdl>;
    فهي ملفات Wdls أيظاً وعندما قلت include فكأنك كتبت محتواها تماماً في Wdl الخاص بلعبتك

    وفائدتها أنها تحتوي على إجراءات ودوال جاهزة للإستخدام ...تختصر الكثير من الوقت وتقدم العديد من المزايا (في الواقع ألعابك تعتمد عليها )

    وأما

    كود:
    function Main ()
    عندما يتم تشغيل اللعبة يقرأ البرنامج هذه الدالة مباشرة ... اما الدوال الأخرى لا يقرأها إلا عندما تقول له ذلك

    إلعب بالمثال والأرقام حتى تفهم ما معنى برمجة أو على الأقل سكربت

    ## لست مطالب بفهم شيء من السكربت حتى الآن

    الآن أنت معد لتخطو أول خطواتك في تعلم السكربت

    في الدرس القادم سنتحدث عن كيفية كتابة أوامرك الخاصة بلغة C - Script

    إدعولي التوفيق
    أخر تعديل بواسطة game_maker في 06 / 08 / 2003 الساعة 02:07 AM
    كود:
    Arabian Xtreme Designs          www.axdteam.com


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jan 2003
    المنطقة
    مصر
    ردود
    236
    السلام عليكم
    مجهود رائع
    شكرا جزيلا
    و فى انتظار باقى الدروس

  3. #3
    كنت اتوقع هذه الدروس منك من فتره يا اخي العزيز
    لكن ممكن تخبرنا بعد انتهاء الدروس
    كيف يكون مستوانا
    اي المنهج الذي ستعلمنا به
    والف شكر على المجهود الرائع

  4. #4
    السلام عليكم

    نص مقتبس من موضوع T_arek
    السلام عليكم
    مجهود رائع
    شكرا جزيلا
    و فى انتظار باقى الدروس
    الدرس الأول أعددته بالأمس ... والدرس الثاني اليوم (للتو)....... والدرس الثالث غداً بإذن الله
    وعلى هذا المنوال



    نص مقتبس من موضوع تجانى
    كنت اتوقع هذه الدروس منك من فتره يا اخي العزيز
    لكن ممكن تخبرنا بعد انتهاء الدروس
    كيف يكون مستوانا
    اي المنهج الذي ستعلمنا به
    والف شكر على المجهود الرائع
    الحمد الله ان هذي صورتي عندك

    بدون مبالغة شفت الصورة الي في الدرس (الملف office ) بتصمم مثله وأفضل إن شاء الله في أقل من يوم

    تحياتي
    كود:
    Arabian Xtreme Designs          www.axdteam.com

  5. #5
    عضو
    صور رمزية maxkarmon
    تاريخ التسجيل
    Apr 2003
    المنطقة
    palestine
    العمر
    31
    ردود
    70
    بارك الله فيك وأكثر من أمثالك
    نحن في الإنتظار
    max for us
    and we for max

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jan 2003
    المنطقة
    مصر
    ردود
    236
    السلام عليكم
    الاخ العزيز
    game_maker
    ارجو ان تتابع هذا العمل بغض النظر عن الاراء المطروحة
    ففى كل الاحوال لن يتفق الناس على رائ
    و لاكن العبرة بالنتائج و النوايا الصادقة لمنفعة الاخوة فى كل مكان
    و شكرا

  7. #7
    السلام عليكم

    maxkarmon / ويبارك فيك :: أنا حالياً إنتهيت من إعداد الدرس الثالث

    T_arek / رضى الناس غاية لا تدرك
    كود:
    Arabian Xtreme Designs          www.axdteam.com

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل