منبع:gameover.blog.ir
قبلا از دستور sleep استفاده میشد . ورودی بر حسب میلی ثانیه بود. هر ثانیه معادل 1000 میلی ثانیه بود و برای اینکه بگیم 3 ثانیه صبر کن بعد برو خط بعدی می گفتیم sleep(3000) اما الان قضه فرق داره هر 30 واحد زمان(چون سرعت پیشرفض روم هست 30 و اگه تغییرش بدیم باید تغییر بدیم کد رو ) برای آلارم معال یک ثانیه هست. پس 3 ثانیه میشه 3*30=90 واحد زمانی.
مثال: پروژه ای در گیم میکر /استادیو بسازید که بعد از 3 ثانیه یک نمونه از object2 روی room ایجاد بشه.
حل:
ابتدا دو ابجکت روی room می ذاریم. object1 و object2
به object1 رویداد create و alarm[0] اضافه کنید و به ترتیب کد های زیر رو برای هر بخش نسبت بدید:
//رویداد ایجاد شی یک seconds=3 alarm[0]=room_speed*seconds
//رویداد آلارم صفر
instance_create(10,10,object2);
دقت کنید به کد و توضیحاتی که دادم.
اینم فایل sample:
اما قاعده ی کلی:
به جای اون 30 بهترین کار اینه که از room_speed استفاده کنیم که متغیر تعریف شده هست و سرعت روم رو تغییر هم بدیم خودش میشناسه.
فرمول کلی هم اینه سرعت روم ضرب در تعداد ثانیه. مثال:
alarm[0]=room_speed*3 باعث میشه بعد از 3 ثانیه آلارم صفر اجرا بشه.
مثال کلی :
seconds=3
instance_deactivate_all(self); alarm[0]=seconds*room_speed;//This will un-pause the game in the amount of time you selected
وقتی همه چیز غیر فعال شد بعدش آلارم صفر رو اجرا می کنه بعد از تعداد ثانیه ای هایی که در متغیر seconds می ریزیم.(متغیر seconds دلخواه هست و در اینجا عدد 3 رو بهش دادیم)
منابع:
http://docs.yoyogames.com/source/dadiospice/002_reference/objects%20and%20instances/instances/deactivating%20instances/instance_deactivate_all.html
http://gmc.yoyogames.com/index.php?showtopic=554091