آموزش ساخت بازی آنلاین-نوبتی(قسمت چهارم)


آموزش ساخت بازی آنلاین-نوبتی(قسمت چهارم)


قبل از ادامه آموزش برخی دوستان در ورژن گیم میکر استودیو 1.4.1522 و 1.4.1657 با خطایی مواجه شدن که با توجه به استفاده از گیم میکر استودیو 1.4.1760 برای آموزش چنین خطایی در این ورژن مشاهده نشده بود در هر صورت کدهای زیر رو جایگزین کدهای ایونت Create ابجکت obj_loading_player کنید تا مشکل رفع گردد.

get =http_get( string ( 'https://gmstudio.ir/online_tenbase/player.php?name=' )
+ string(global.username)+ string('&hero=')+ string(global.userhero))


image_speed=0.5

show=0
size=0


alarm[0]=150

 بریم سراغ ادامه کار چهار اسپرایت با نامهای spr_h_1_attack و spr_h_2_attack و spr_h_3_attack وspr_h_4_attack برای نمایش حالات حمله کاراکتر هامون ایجاد میکنیم و اسپرایت های مربوطه رو لود میکنیم و یک اسپرایت با نام spr_power برای نمایش میزان قدرت حمله ایجاد میکنیم.

یه ابجکت با نام obj_power ایجاد میکنیم و در ایونت Create کدهای زیر رو وارد میکنیم.

image_speed=0.5
klid=0
alarm[0]=10
  • خط اول که سرعت حرکت فریمهای اسپرایته 
  • خط دوم یه متغییره برای جلوگیری از تداخل دو کلیک که به یه شرط در همین ابجکت وابسته میکنیم
  • خط سوم یه آلارم هست برای تغییر وضعیت متغییر خط قبلی

در ایونت آلارم همین ابجکت کد زیر رو وارد میکنیم

klid=1
  • این خط وضعیت رو برای اجرای عملیات در ایونت بعدی فعال میکنه

در ایونت گلوبال لفت پرس کد زیر رو وارد میکنیم

if(klid=1)
{
global.attack=0.3+image_index/10
instance_create(400,240,obj_send_attack)

instance_destroy()
}
  • خط اول بررسی میکنه متغییرمون اگر یک بود خطوط بعدی رو اجرا میکنه
  • خط سوم میزان متغییر حمله رو با توجه به فریم نمایشی اسپرایت تعیین میکنه
  • خط چهارم آبجکت ارسال اطلاعات به سرور رو ایجاد میکنه
  • خط ششم ابجکت رو حذف میکنه

 کدهای ایونت گلوبال لفت پرس آبجکت obj_attack رو به صورت زیر تغییر میدیم تا مستقیما ابجکت ارسال اطلاعات به سرور رو ایجاد نکنه و بجاش ابجکت پاور رو ایجاد کنه.

if(instance_number(obj_send_attack)=0 )
{

instance_create(400,240,obj_power)
}

کدهای ایونت .step. آبجکت obj_send_attack رو به صورت زیر تغییر میدیم

if(show='1' or show='2')
{
global.e_attack=real(attack[0])
global.e_heath=global.e_heath-global.attack*10
global.heath=global.heath-global.e_attack*10

if(global.e_heath<=0 or global.heath<=0 )
{
room_goto(room0)
}

obj_enemy.image_index=0
obj_player.image_index=0

if(global.e_userhero=1)
{obj_enemy.sprite_index=spr_h_1_attack}
if(global.e_userhero=2)
{obj_enemy.sprite_index=spr_h_2_attack}
if(global.e_userhero=3)
{obj_enemy.sprite_index=spr_h_3_attack}
if(global.e_userhero=4)
{obj_enemy.sprite_index=spr_h_4_attack}

if(global.userhero=1)
{obj_player.sprite_index=spr_h_1_attack}
if(global.userhero=2)
{obj_player.sprite_index=spr_h_2_attack}
if(global.userhero=3)
{obj_player.sprite_index=spr_h_3_attack}
if(global.userhero=4)
{obj_player.sprite_index=spr_h_4_attack}


instance_destroy()
}
  • خطوط 7 تا 10 بررسی میکنه اگه جون هر کدوم از دو طرف تموم شد برگرده روم اول
  • خطوط 12 و 13 فریم دو ابجکت دشمن و پلیر رو صفر میکنه تا آماده اجرای اسپرایت حمله برای دو طرف باشه
  • خطوط 15 تا 22 اسپرایت مناسب رو برای نمایش حالت حمله دشمن به آبجکت دشمن با توجه به کاراکتر انتخاب شدش میده.
  • خطوط 24 تا 31 اسپرایت مناسب رو برای نمایش حالت حمله پلیر به آبجکت پلیر با توجه به کاراکتر انتخاب شدش میده.

خب حالا اسپرایت دشمن و پلیر در حالت حمله قرار میگیرن برای برگردوندن حالت ایست به دو آبجکت کدهای زیر رو در هر یک از ابجکتها در ایونت Animation End قرار میدیم.

در آبجکت obj_enemy کدهای زیر

if(global.e_userhero=1)
{sprite_index=spr_h_1_stop}
if(global.e_userhero=2)
{sprite_index=spr_h_2_stop}
if(global.e_userhero=3)
{sprite_index=spr_h_3_stop}
if(global.e_userhero=4)
{sprite_index=spr_h_4_stop}

در آبجکت obj_player کدهای زیر

if(global.userhero=1)
{sprite_index=spr_h_1_stop}
if(global.userhero=2)
{sprite_index=spr_h_2_stop}
if(global.userhero=3)
{sprite_index=spr_h_3_stop}
if(global.userhero=4)
{sprite_index=spr_h_4_stop}

 خب خسته نباشید یه بازی ساده تحت هاست یا سرور ترن بیس خدمت شما.


Download

zip

3.79 mb

    نظرات


    نام: سامان

    14 دی 1396
    سلام دستتون درد نکنه لطفا ادامه بدید190

    نام: mohammad

    7 بهمن 1396
    واقعا دستتون درد نکنه توو هیچ سایتی به این خوبی توضیح نمی ده ولی یه سوال داشتم سورس اخر سایت باید با چه فرمتی باز کرد ؟ با گیم میکر و گیم میکر استودیو خواستم باز کنم نشد؟ خیلی ممنون211
    نام: tfh1368

    7 بهمن 1396
    سلام، دوست عزیز فایلهای gmz رو باید ایمپورت کنید توی گیم میکر. از منوی فایل گیم میکر استودیو یک گزینه import رو انتخاب کرده و فایل مربوطه رو انتخاب کنید .






ارسال نظر




رفتن به بالا