【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);

        ……

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。