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

        ……

}

posted @ 2015-01-19 22:35  H5开发技术  阅读(1301)  评论(0编辑  收藏  举报