اجرای دستورات تابع با تاخیر

گاهی نیاز است که دستورات داخل تابع یا متد با تاخیر مشخصی اجرا شوند. به طور مثال اگر در بازی بمب یا مواد محترقه دیگری پرتاب شود بلافاصله انفجار رخ نمی‌دهد بلکه نیاز به تاخیری بین پرتاب آن و انفجارش است. در چنین شرایطی از روش‌های مختلفی برای ایجاد این تاخیر می‌توان بهره جست که ساده‌ترین و شاید بهترین آن‌ها استفاده از متد Invoke(از کلاس
MonoBehaviour ) است. متدهای Invoke متدهایی هستند که می‌توانند متد دیگری را در زمان دلخواه توسعه‌دهنده فراخوانی کنند. این دستور در زبان جاوا و سی‌شارپ دارای قالب یکسانیست که در زیر مشاهده می‌کنید:

;Invoke(method_name,delay)

همانطور که مشاهده می‌کنید این دستور دارای دو پارامتر اصلیست که اولین پارامتر شامل نام تابع یا متدی است که می‌خواهیم بعد از تاخیر موردنظر اجرا شود و از نوع String است و پارامتر دوم نیز میزان تاخیر که بر حسب ثانیه بوده و از جنس int یا float می‌باشد. در مثال زیر متد LaunchProjrct بعد از دو ثانیه تاخیر اجرا می‌شود.

اجرای دستورات تابع با تاخیر

 

 

 

 

 

 

 

 

اگر از Invoke در متدهایی که چندین بار تکرار می‌شوند (مثل Update) استفاده شود، دستورات درون متد MyMethod پس از طی شدن زمان Invoke مطابق با تعداد دفعات اجرای متدی که درون آن قرار دارند (مثل Update) اجرا خواهند شد.

منبع:unitycorn.ir