موضوع: ايها الاخوة سؤال فى برنامج 3D GameStudio

ردود: 9 | زيارات: 1761
  1. #1

    Post ايها الاخوة سؤال فى برنامج 3D GameStudio

    السلام عليكم يا اخوانى ...

    يوجد عندى ثلاثة اسئلة على هذا البرنامج الجميل لتصميم الالعاب وارجو الرد عليهم .


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

    ======================================================

    ثانيا : كيف يتم تحويل اللعبة بعد تصميمها الى ملف تنفيذى ملف EXE كيف يتم ذلك ؟
    ----------------------------------------------------------------------------
    مثال: يوجد اختيار فى البرنامج Files>Publish انا سمحت من احد الاخوة ان هذا الامر يحول اللعبة الى ملف تنفيذى EXE وقد جربتة ولكن لم يعمل لى ملف تنفيذى فقط يعطيك الملفات المستخدمة فى اللعبة فقط مثل ملفات الصور والصوت والمجسمات هذا كل ما يفعلة ولكن ملف تنفيذى EXE لا يعمل فكيف يتم عمل ملف تنفيذى .

    ======================================================

    ثالثا : كيف يتم عمل مقدمة للعبة وجهة البداية للعبة ؟
    ---------------------------------------------
    مثال : وجهة اللعبة عمل ملف فيديو فى بداية اللعبة مثل اى لعبة و شعار اللعبة و ايضا عمل قوائم او ازرار للتحكم فى اللعبة مثل Nwe Game و Load Game و Save Game و Options و Exit وغيرها من الاختيارات مثل اى لعبة فكيف يتم عمل ذلك .

    ======================================================
    ========================================

    وارجو الاجابة على اسئلتى علما باننى مستخدم جديد فى هذا المنتدى وهذا هو او سؤال لى من فضلكم لا تبخلو عليا بالاجابة . وانا انتظر الرد على اسئلتى


    وشكرا ......


  2. #2
    عضو متميز
    تاريخ التسجيل
    Apr 2001
    المنطقة
    UAE
    العمر
    31
    ردود
    1,556
    اجيبك بعد ان جربت كل الطرق

    الجواب للسوال رقم 1

    لا تستطيع فعل ذالك الا في الحركات و المجسمات الخاصه في البرنامج
    ( السب هو ان البرنامج مكتبه لتصميم عالم اللعبه و ليس للبرمجه )

    الجواب الثاني
    لا تستطيع مل ملف تنفيذي قبل البرمجه يجب اضافته و برمجته بلغة C++
    و عند عمل ببلش يضهر لك ملفات و هذه الملفات ما ستستخدمها للبرمجه

    جواب السوال الثالث
    واجهت اللعبه عليك بتصميمها ببرنامج و لغة البرمجة

    و اعيد و اكرر ان هذا البرنامج لصناعة العوالم و تجهيزها و ليس برمجتها و هو مكتبه لبرنامج VC++ و اعتقد ايضا دلفي

    تحياتي

  3. #3
    السلام عليكم اخوانى الاعزاء


    شكرا جزيلا اخ unuae على اجابتك ......

    بالنسبة للبرنامج هل الفائدة منة هو تصميم المجسمات والمستوايات الخاصة باللعبة فقط وليس عمل اللعبة كاملة .

    ======================================================

    كيف يتم ربطة مع C++
    ----------------------

    مثال : بعد تصميم المستويات والمجسمات وكل شى كيف يتم ربطة بال C++ علما بان الامتداد الخاص بالبرنامح لا يقبلة C++ لكى يتم برمجة المستويات فكيف يتم ذلك .

    ======================================================

    وشكرا ...

  4. #4
    عضو متميز
    تاريخ التسجيل
    Apr 2001
    المنطقة
    UAE
    العمر
    31
    ردود
    1,556
    نعم الفائده منه هو عمل المستويات

    و هو يسهل وضع الاضائة و الشخصيات في المكان المطلوب و هذا ياخذ وقت برمجيا

    كيف يتم ربطه بال C++
    هذا ما لا اعرفه

    تحياتي

  5. #5

    شكرا لك

    اشكرك اخويا unuae واتمنى لك كل خير .....


    ولكن بالنسبة لسؤالى هل تعرف احد من اخواننا يعرف طريقة ربط المستويات بالبرمجة او يوجد برنامج وسيط بينهم .
    -----------------------------------------------

    او يا اخوانى هل احد يعرف الاجابة على سؤالى .


    وشكرا

  6. #6
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    إجابات وافية

    السلام عليكم ورحمة الله وبركاته :
    إجابة السؤال الأول :
    ممكن جداً وعن طريق برنامج ( الدفتر ) note pad الذي يأتي مع الوندوز أو عن طريق wdl script editor مثال :
    تجدها في المشاركة التالية :
    إجابة السؤال الثاني :
    حصلت لي في البداية نفس المشكلة والسبب أن البرنامج demo وليس إصداراً كاملاً .
    إجابة السؤال الثالث :
    يمكن عن طريق نفس برامج البرمجة التي ذكرتها مثال:
    في المشاركة ليست التالية ولكن التي بعدها .
    أخوك أسد الله .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  7. #7
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    مثال السؤال الأول

    function answer_one()
    {
    msg.visible=on;
    msg.string= " hi gemzwy ";
    }
    on_p = answer_one;
    لاحظ on_p= answer_one ;
    حيث إذا ضغط اللاعب حرف p سيظهر النص hi gemzawy
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  8. #8
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    مثال السؤال الثالث

    //////////////////////////////////////////////////////////////////////////

    var video_mode = 7; // 800x600
    var video_depth = 16; // 16 bit mode

    var game_started = 0; // will be set to 1 when the game is started
    var sound_vol = 70; // default sound value at game start; sound_vol is an engine variable
    var video_value = 7; // default resolution at game start (800x600)

    //////////////////////////////////////////////////////////////////////////

    bmap main_pcx = <main.pcx>; // main panel
    bmap new1_pcx = <new1.pcx>;
    bmap new2_pcx = <new2.pcx>;
    bmap sound1_pcx = <sound1.pcx>;
    bmap sound2_pcx = <sound2.pcx>;
    bmap video1_pcx = <video1.pcx>;
    bmap video2_pcx = <video2.pcx>;
    bmap quit1_pcx = <quit1.pcx>;
    bmap quit2_pcx = <quit2.pcx>;
    bmap maincursor_pcx = <maincurs.pcx>;

    bmap sound_pcx = <sound.pcx>; // sound volume panel
    bmap video_pcx = <video.pcx>; // video resolution panel
    bmap slider_pcx = <slider.pcx>;

    //////////////////////////////////////////////////////////////////////////

    sound mouse_snd = <mousesnd.wav>;

    //////////////////////////////////////////////////////////////////////////

    string introlevel_wmb = <introlev.wmb>;
    string level1_wmb = <levelfive.wmb>;

    /////////////////////////////////////////////////////////////////////////

    function game_init();
    function mouse_over();
    function mainmenu_mouse();
    function start_game();
    function set_volume();
    function set_resolution();
    function quit_game();

    /////////////////////////////////////////////////////////////////////////

    panel main_pan // main panel
    {
    bmap = main_pcx;
    layer = 20;
    pos_x = 220; // for now
    pos_y = 200; // for now
    button = 50, 65, new1_pcx, new1_pcx, new2_pcx, null, start_game, mouse_over;
    button = 50, 115, sound1_pcx, sound1_pcx, sound2_pcx, null, set_volume, mouse_over;
    button = 50, 165, video1_pcx, video1_pcx, video2_pcx, null, set_resolution, mouse_over;
    button = 50, 215, quit1_pcx, quit1_pcx, quit2_pcx, null, quit_game, mouse_over;
    flags = d3d, overlay, refresh;
    }

    panel sound_pan // sound panel
    {
    bmap = sound_pcx;
    layer = 20;
    pos_x = 160; // for now
    pos_y = 240; // for now
    hslider = 60, 95, 200, slider_pcx, 0, 100, sound_vol;
    flags = d3d, overlay, refresh;
    }

    panel video_pan // video resolution panel
    {
    bmap = video_pcx;
    layer = 20;
    pos_x = 160; // for now
    pos_y = 240; // for now
    hslider = 60, 95, 200, slider_pcx, 4, 8, video_value;
    flags = d3d, overlay, refresh;
    }

    function main()
    {
    on_esc = null; // don't exit the engine by Escape (default)
    level_load (introlevel_wmb); // dummy level
    wait (2);
    game_init(); // checks the Esc key state and changes the panels if needed
    main_pan.visible = on; // show the main panel
    mainmenu_mouse(); // and give me a cursor to play with
    vec_set (camera.pos, nullvector); // move camera to the origin
    while (game_started == 0) // we haven't pressed New yet
    {
    camera.pan += 0.3 * time; // rotate the camera gently
    camera.tilt += 0.1 * time;
    camera.roll += 0.05 * time;
    wait (1);
    }
    }

    action eye_checker // attached to the sprite
    {
    my.oriented = on;
    }

    function mouse_over() // is executed when we are over the menu buttons
    {
    play_sound (mouse_snd, 70);
    }

    function mainmenu_mouse () // displays the cursor in main menu
    {
    mouse_mode = 2;
    mouse_map = maincursor_pcx;
    while (game_started == 0) // we haven't started the game yet
    {
    mouse_pos.x = pointer.x;
    mouse_pos.y = pointer.y;
    wait (1);
    }
    }

    function start_game()
    {
    call md1panel;
    main_pan.visible = off;
    game_started = 1;
    mouse_mode = 0; // hide the cursor
    level_load (level1_wmb);
    wait (2);
    camera.z = 220;
    camera.tilt = -90; // camera looks down
    }

    function set_volume() // shows the sound panel
    {
    main_pan.visible = off;
    sound_pan.visible = on;
    }

    function set_resolution() // shows the video panel
    {
    main_pan.visible = off;
    video_pan.visible = on;
    }

    function quit_game()
    {
    exit;
    }

    function game_init() // checks the Esc state and changes the panels accordingly
    {
    while (1)
    {
    // first of all, calculate pos_x and pos_y for all the panels
    // to make sure that they are centered at any resolution
    main_pan.pos_x = (screen_size.x - bmap_width(main_pcx)) / 2;
    main_pan.pos_y = (screen_size.y - bmap_height(main_pcx)) / 2;
    sound_pan.pos_x = (screen_size.x - bmap_width(sound_pcx)) / 2;
    sound_pan.pos_y = (screen_size.y - bmap_height(sound_pcx)) / 2;
    video_pan.pos_x = (screen_size.x - bmap_width(video_pcx)) / 2;
    video_pan.pos_y = (screen_size.y - bmap_height(video_pcx)) / 2;
    if (key_esc == 1)
    {
    while (key_esc == 1) {wait (1);} // wait for release
    if (main_pan.visible == on)
    {
    main_pan.visible = off;
    mouse_mode = 0; // hide the cursor
    }
    else // main_pan isn't visible
    {
    if (sound_pan.visible == off && video_pan.visible == off)
    {
    main_pan.visible = on;
    game_started = 0; // stop the game
    mainmenu_mouse(); // show the cursor
    }
    }
    if (sound_pan.visible == on)
    {
    sound_pan.visible = off;
    main_pan.visible = on;
    }
    if (video_pan.visible == on)
    {
    video_pan.visible = off;
    main_pan.visible = on;
    if (int (video_value != video_mode)) // resolution has changed
    {
    switch_video (video_value, 16, 1);
    }
    }
    }
    wait (1);
    }
    }
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  9. #9

    شكرا جزيلا

    اشكرك يا اخ اسد اللة على ردك الجميل وانت باين عليك مهتم بهذا البرنامج جدا.

    وانا اريد منك طلب لو سمحت

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

    وانا انتظر ردك


Bookmarks

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

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