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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف omar-games الخميس أغسطس 01, 2013 6:33 am

بسم الله بسم الله 
السلام عليكم ورحمه الله وبركاته
حبيت احط تحدى صعب شويه وانا عارف انكم هتعرفوا الكود يعـنى هتعرفوا الكود Very Happy 


ما هو التحدى :
التحدى هو عباره عن كود من خلاله يمكنك وضع فى لعبتك قائمه متطوره بدل من قائمه ESC التى من خلالها تخرج من العب ؟

لم افهم ؟ :
ان لم تفهم فلرجاء التركيز الى الاتى :
انا عندى لعبه وكل تمام والدنيا ماشيه بس حبيت احط Menu ليها هيا ليست قائمه افتتاحيه مثل هذه:
[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Lgm-mn10


 الذى قدمها الاخ :عاشق الجيم ميكر (يمكنك متابعه هذا الدرس من هنا :http://www.learngm.com/t170-topic)
===========================================================
بس انته لما تلعب العبه بتحب تظبط ال options بتاعت لعبتك يعنى توطى الصوت او تعليه او تقفل الصوت من العبه وهكذا ...
طيب لما احب اعمل كده لازم فى زر معين بدوس عليه وهو اغلبيا زر الخروج او :ESc (طبعا بتلقيه فى لوحه المفاتيح)
بس الزر ده بيطلعنى من العبه وبيكون الى انا عملته فى العبه راح ): Mad 
الطلب الاصلى:
هو كود لما تدوس على esc او اى زر يختاره مصمم العبه 
1- بيعمل للعبه pause او ايقاف موقت ..
2- بيفتح Menu من خلالها تقدر مثننا : تخرج من العبه : تحفظ العبه : تروح لل options : و زر الرجوع مره اخرى الى العبه او الى هو resume play . علشان لما تدوس عليه ترجع تانى للعبه وفى المكان الى انته كنت فيه ... بدون ما يخرجك بره العبه....
الشروط :
1- اغلبنا بيحط اكواد غير شغاله تماما ... فايريت محدش يحط اكواد غير شغاله ^ _ ^ علشان غيرك يستفيد
2- يكون الكود مقسم لمرحلتين المرحله الاولى هيا ايقاف العبه او pause والمرحله التانيه هيا اظهر القائمه او ال mune 
=========================================================
يبدا التحدى من اليوم وينتهى 1/8 اول ايام عيد الفطر
=========================================================
انا عارف ان التحدى ده صعب جداااااا بس يلا ورونى شطرتكم ويارب اكون وضحت التحدى
omar-games
omar-games
 
 

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



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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف Nephron الخميس أغسطس 01, 2013 7:17 am

شاشرح بطريقتي
اولا نعمل سبرايتات مثلا لاعب,pause و سبرايتات القائمة الافتتاحية 
نعمل اوبجيكات للسبرايتات هذي ونعمل ثلاث روم
الروم الاول القائمة الافتتاحية 
الروم التاني pause
الروم الثالث روم اللعب
حسنا....
في اوبجيكت اللاعب: P-key event 
نضع الكود ذا

الكود:
game_save("pause");

 ثم
الكود:
room_goto_previous();

في روم التاني نضع اوبجيكات pause و menu
في اوبجكت pause حدث mouse left button
كود
الكود:
game_load("puase");

في اوبجكت menu حدث mouse left button
كود
الكود:
room_goto_previous();

flower 
Nephron
Nephron
Discussion Moderator
Discussion Moderator

الجنس : ذكر
عدد المساهمات : 389
الأوسمة :
[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Help10
وسام المساعدة




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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف omar-games الخميس أغسطس 01, 2013 7:41 am

احسنت اخى Very Happy لكن ليس هذا هو ما كنت اقصده بلتـــــحديد Rolling Eyes لكن انته وصلت الى نقطه مميزه جدا فى التحدى
=========================
فلذى كنت اقصده مع العلم ان العبه تتاح جميع الثيغ مثل platfrom _ prg _ 3d _ tds او ايا كان يكون فيه ال Background ظاهر وراء ال mune بدون Else eveny او هذا ليس مهم لكن انته هكذا تذهب وتتنقل ايضا الى الغرف (room) ولكن ما احتاجه هو ان القائمه تكون على الاقل غرفه واحده او غرفتين .... وشكرا على جهدك
omar-games
omar-games
 
 

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



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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف omar-games السبت أغسطس 03, 2013 9:06 pm

اليــــس هناك اى احد يعرف يفوز فيهاذا التحدى &_* يا لها من خيبه املا Sad Sad
omar-games
omar-games
 
 

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



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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف Bukmang الأحد أغسطس 04, 2013 11:27 pm

Create Event:
الكود:
///Go
blur_stop = 0;
precision=2;
amount=0;
_prec=max(1,min(10,precision));
_width=view_wview[0]/_prec;
_height=view_hview[0]/_prec;
blur_1X=surface_create(_width,_height);
blur_2X=surface_create(_width,_height);
blur_on=0;

 Step Event:
الكود:
///Start
view_enabled=1
view_visible[0]=1
view_wport[0]=_width
view_hport[0]=_height
visible=0
surface_set_target(blur_2X)
screen_redraw()
surface_reset_target()
visible=1
view_wport[0]=view_wview[0]
view_hport[0]=view_hview[0]
texture_set_interpolation(true)
repeat(amount)
{
    surface_set_target(blur_1X)
    draw_surface_ext(blur_2X,0,0,.5,.5,0,c_white,1)
    surface_reset_target()
    surface_set_target(blur_2X)
    draw_surface_ext(blur_1X,0,0,2,2,0,c_white,1)
    surface_reset_target()
}
texture_set_interpolation(false)
if keyboard_check_pressed(ord("P")) {blur_on=!blur_on}
if blur_on=1 && amount<5 {amount+=0.50};
if blur_on=1 && amount = 5
{
    amount = 5.50
    draw_set_halign(fa_center)
    draw_set_valign(fa_center)
    draw_text(view_xview[0]+240,view_yview[0]+136,"Game Paused##Press escape to quit the game.")
    screen_refresh()
    keyboard_wait()
    draw_set_halign(fa_left)
    draw_set_valign(fa_top)
    blur_on=0
}
if blur_on=0 && amount > 0 {amount-=0.50};

Draw Event:
الكود:
///Stuff
texture_set_interpolation(true)
draw_surface_stretched_ext(blur_2X,view_xview[0],view_yview[0]
,view_wview[0],view_hview[0],c_white,min(1,amount/precision))
texture_set_interpolation(false)

Bukmang
Bukmang
 
 

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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Small-11
[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Help10
وسام المساعدة




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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف omar-games الإثنين أغسطس 05, 2013 8:39 am

اخى الكرـيم ما هذا  ؟ ؟ ؟ ؟
=-=-=-=-=-=-=-=-=-=-=-=
الم تلاحظ انك لم حتى تفهمنى الكود وان كان هناك احد الاعضاء الجدد معــنا هل سوف يفهم هذا الكود ؟؟؟
الرجاء التحلى ببعض المعلومات ليس بوضع كود غير مفهوم ؟
omar-games
omar-games
 
 

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



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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف Bukmang الإثنين أغسطس 05, 2013 3:30 pm

انتا مش محاج تفهم الكود, انتا لاذم تعرف تستخدمه.
فمثلا انا عملت

الكود:
if keyboard_check_pressed(vk_escape)
{
    blur_on=!blur_on;
    with oMenu { instance_destroy(); }
    with oLine { instance_destroy(); }
    with oReturn { instance_destroy(); }
    with oExit { instance_destroy(); }
    with oBack { instance_destroy(); }
    alarm[0]=10;
}
if blur_on=1 && amount<5 {amount+=0.50};
if blur_on=1 && amount = 5
{
    amount=4;
    screen_refresh();
    if !instance_exists(oMenu)
    {
        instance_create(view_xview[0]+300, view_yview[0]+150, oMenu);
    }
    if !instance_exists(oLine)
    {
        instance_create(view_xview[0]+300, view_yview[0]+150, oLine);
    }
    instance_create(view_xview[0]+137, view_yview[0]+150, oBack);
    instance_create(view_xview[0]+80, view_yview[0]+150, oExit);
    instance_create(view_xview[0]+600, view_yview[0]+150, oReturn);
    instance_create(view_xview[0]-5, view_yview[0]+150, oReturn);
    with FinnJake { Enable=false; Attacking=1; }
    with TimeZombie { Enable=false; }
    blur_on=1;
}

 اول ما هدوس Esc القائمة هتظهر, و لمل تتدوس Esc تانى هتختفى
ووقف حركة اللعب ب Enable وAttacking

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Screenshot100
Bukmang
Bukmang
 
 

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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Small-11
[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Help10
وسام المساعدة




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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف GameMaker1103 الخميس أغسطس 08, 2013 6:27 am

وعليكم السلام ورحمة الله وبركاته
تفضل جواب تحديك مني 


مثلاً ولنقل إذا ضغطنا زر مسافة vk_space
الكود:
if keyboard_check_pressed(vk_space)
{
instance_create(0,0,obj_pause);
}

ينشئ لنا كائناً اسمه obj_pause

ثم وفي obj_pause نضع في الـ Create Event Create Event:
الكود:
bck=background_create_from_screen(0,0,room_width,room_height,false,false);
instance_deactivate_all(true);

وهذا الكود يقوم بأشبه ما يكون بتصوير الروم كاملة من 0و0 إلى room_width room_height ويحتفظ بالصورة في متغير اسميناه هنا bck
والكود الثاني instance_deactivate_all(true) هو الكود الحقيقي لإيقاف اللعبة ، ووظيفته إبطال وجود كل كائن في الروم عدا نفسه ولذلك وضعنا true ، أما اذا وضعنا false فإنه يبطل وجود نفسه أيضاً ، وهذا شبيه بالـ instance_destroy() إلا أنه لازال يمكننا استرداد الكائن.

ثم عند الـ Step Event Step Event:
الكود:
if keyboard_check_pressed(vk_space)
{
    instance_activate_all();
    instance_destroy();
}

وهذا الكود هو كود الرجوع resume وهو واضحٌ لأنه عكس deactivate وهو activate all ،
والكود الثاني كما نعلم instance_destroy() يقوم بحذف obj_pause فبالتالي يرجع كل شيءٍ كما كان.

لم ننته هنا فنحن لم نستخدم الـ bck بعدُ.
ففي الـ Draw Event Draw Event:
الكود:
draw_background(bck,0,0);
draw_set_color(c_black);
draw_set_alpha(0.8);
draw_rectangle(0,0,room_width,room_height,false);
draw_set_alpha(1);
draw_set_color(c_white);
draw_text(32,32,"<Game Paused>");
draw_text(32,32+16,"Press <Space> to resume")
draw_set_color(c_black);

وهنا نقوم برسم المرحلة التي التقطنا صورتها بالمتغير bck ، فنقول draw_background ، ثم نرسم مربعاً مظللاً شفافاً قليلاً فوق الصورة بحيث تظهر كأنها شيئٌ منفصل ، ثم نرجع الشفافية إلى الوضع الطبيعي ، ثم نكتب نصاً نوضح فيه أننا في وضع ال menu أو ال pause.

وبهذا نكون انتهينا من الفكرة الأساسية فأنت بعد ذلك يمكنك الدخول إلى الـ Create Event Create Event مثلاً وتقوم بإنشاء menu بالأوامر التي تريدها ، ثم وبعد الضغط على vk_space تقوم بتدميرها ،
بمعنى أنك تضيفها في هذا الكود الذي هو في الـ Step Event Step Event  الذي تقدم إيضاحه بهذه الطريقة:
الكود:
if keyboard_check_pressed(vk_space)
{
    instance_activate_all();
    instance_destroy();
الإضافة هذه ، لكي تقوم بحذف القائمة التي انشأتها مثلاً
    with(obj_btn_resume)    {instance_destroy();}
    with(obj_btn_options)   {instance_destroy();}
    with(obj_btn_exit)      {instance_destroy();}
    with(obj_btn_help)      {instance_destroy();}
}


ملاحظة: الـ Game Maker Studio عندنا زر Esc لا يقوم بإنهاء اللعبة ، وإنما ذلك فقط في الـ 8.1 والإصدارات التي قبله.
GameMaker1103
GameMaker1103
 
 

الجنس : ذكر
عدد المساهمات : 553
الأوسمة :
[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Help10
وسام المساعدة

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] 3rd10





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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف Abdullah Alsayed الخميس أغسطس 08, 2013 7:07 am

GameMaker1103 كتب:وعليكم السلام ورحمة الله وبركاته
تفضل جواب تحديك مني 


مثلاً ولنقل إذا ضغطنا زر مسافة vk_space
الكود:
if keyboard_check_pressed(vk_space)
{
instance_create(0,0,obj_pause);
}

ينشئ لنا كائناً اسمه obj_pause

ثم وفي obj_pause نضع في الـ Create Event Create Event:
الكود:
bck=background_create_from_screen(0,0,room_width,room_height,false,false);
instance_deactivate_all(true);

وهذا الكود يقوم بأشبه ما يكون بتصوير الروم كاملة من 0و0 إلى room_width room_height ويحتفظ بالصورة في متغير اسميناه هنا bck
والكود الثاني instance_deactivate_all(true) هو الكود الحقيقي لإيقاف اللعبة ، ووظيفته إبطال وجود كل كائن في الروم عدا نفسه ولذلك وضعنا true ، أما اذا وضعنا false فإنه يبطل وجود نفسه أيضاً ، وهذا شبيه بالـ instance_destroy() إلا أنه لازال يمكننا استرداد الكائن.

ثم عند الـ Step Event Step Event:
الكود:
if keyboard_check_pressed(vk_space)
{
    instance_activate_all();
    instance_destroy();
}

وهذا الكود هو كود الرجوع resume وهو واضحٌ لأنه عكس deactivate وهو activate all ،
والكود الثاني كما نعلم instance_destroy() يقوم بحذف obj_pause فبالتالي يرجع كل شيءٍ كما كان.

لم ننته هنا فنحن لم نستخدم الـ bck بعدُ.
ففي الـ Draw Event Draw Event:
الكود:
draw_background(bck,0,0);
draw_set_color(c_black);
draw_set_alpha(0.8);
draw_rectangle(0,0,room_width,room_height,false);
draw_set_alpha(1);
draw_set_color(c_white);
draw_text(32,32,"<Game Paused>");
draw_text(32,32+16,"Press <Space> to resume")
draw_set_color(c_black);

وهنا نقوم برسم المرحلة التي التقطنا صورتها بالمتغير bck ، فنقول draw_background ، ثم نرسم مربعاً مظللاً شفافاً قليلاً فوق الصورة بحيث تظهر كأنها شيئٌ منفصل ، ثم نرجع الشفافية إلى الوضع الطبيعي ، ثم نكتب نصاً نوضح فيه أننا في وضع ال menu أو ال pause.

وبهذا نكون انتهينا من الفكرة الأساسية فأنت بعد ذلك يمكنك الدخول إلى الـ Create Event Create Event مثلاً وتقوم بإنشاء menu بالأوامر التي تريدها ، ثم وبعد الضغط على vk_space تقوم بتدميرها ،
بمعنى أنك تضيفها في هذا الكود الذي هو في الـ Step Event Step Event  الذي تقدم إيضاحه بهذه الطريقة:
الكود:
if keyboard_check_pressed(vk_space)
{
    instance_activate_all();
    instance_destroy();
الإضافة هذه ، لكي تقوم بحذف القائمة التي انشأتها مثلاً
    with(obj_btn_resume)    {instance_destroy();}
    with(obj_btn_options)   {instance_destroy();}
    with(obj_btn_exit)      {instance_destroy();}
    with(obj_btn_help)      {instance_destroy();}
}


ملاحظة: الـ Game Maker Studio عندنا زر Esc لا يقوم بإنهاء اللعبة ، وإنما ذلك فقط في الـ 8.1 والإصدارات التي قبله.

 شرح وافي ورائع .. flower well done  .. شكرا جزيلاً لك
Abdullah Alsayed
Abdullah Alsayed
Admin
Admin

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



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

[تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game] Empty رد: [تم حله] استعمال كود فتح قائمه متتطوره داخل لعبتك [menu game]

مُساهمة من طرف omar-games الخميس أغسطس 08, 2013 7:15 am

شكرا اخى gamemaker 1103 >> ^_^ تم الحل + حلك صحيح
omar-games
omar-games
 
 

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



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

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

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

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