【Unity3D】Invoke,InvokeRepeating ,Coroutine 延迟调用,周期性调用
Invoke和InvokeRepeating方法,可以实现延迟调用,和周期调用
第一个是执行一次,第二个是重复执行
void Invoke(string methodName, float time);
第一个参数是方法名(注意是字符串形式),并不是更方便的委托。第二个是延时多少秒。只执行一次。
void InvokeRepeating(string methodName, float time, float repeatRate);
InvokeRepeating第二个参数是延时多少秒后开始,第三个参数是每次执行间隔的秒数。
这两个函数的问题是不能传递参数
如果想要传递参数,并且实现延迟调用,可以考虑采用Coroutine
StartCoroutine(Fun(1,“2”,3.0f,4.0f));
IEnumerator Fun(int arg1, string arg2 , float arg3 , float delaySecond )
{
yield return new WaitForSeconds(delaySecond);
……
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。