Invoke() 方法是 Unity3D 的一种委托机制。
void Invoke(string methodName, float time); 第一个参数是要调用的函数名,后一个参数是延迟的时间。
意思是:在time时间后调用函数名为methodName方法。
Invoke("SendMsg", 5); -- 5 秒之后调用 SendMsg() 方法
Invoke() 支持重复调用:void InvokeRepeating(string methodName, float time, float repeatRate);
意思是:time秒后调用 调用函数名为methodName方法,并且之后每隔 repeatRate秒调用一次调用函数名为methodName方法。
InvokeRepeating("SendMsg", 2 , 3); -- 2 秒后调用 SendMsg() 方法,并且之后每隔 3 秒调用一次 SendMsg () 方法。
注意:
1 :它应该在 脚本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被调用。
2:Invoke(); 不能接受含有 参数的方法。
3:在 Time.ScaleTime = 0; 时, Invoke() 无效,因为它不会被调用到。