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);
……
}