突然看到Invoke方法,记得以前学过,但是忘了,然后马上就把它捡起来了,顺便写了这个随笔,记录一下这个知识点。
Invoke方法是Unity3D 中的一种委托机制。
现在看一下官网给出的API:
public void Invoke(string methodName, float time);
methodName 是方法名,time 是具体几秒
Description
Invokes the method methodName
in time seconds.
在具体事件以后调用这个方法
也就是说,Invoke("SendMessage",5) ,表示的是在“5s”以后执行“SendMessage”方法。
使用Invoke方法需要注意以下三点:
1、它应该在Start,Update,FixUpdate,LateUpdate,还有OnGUI中被调用
2、Invoke中传递的方法不能是含有参数的方法、
3、当Time.ScaleTime = 0时,Invoke()无效,调用不到Invoke方法
当然,Invoke也支持重复调用:
InvokeRepeating("SendMessage",2,3);
表示在“2s”以后开始调用第一次,之后每隔“3s”重复调用一次。
知识点比较简单,欢迎批评指正