【Unity3D】Invoke,InvokeRepeating ,Coroutine 延迟调用,周期性调用
2015-01-19 22:35
405 查看
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);
……
}
第一个是执行一次,第二个是重复执行
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);
……
}
相关文章推荐
- Unity3D:延时方法Invoke和InvokeRepeating
- Unity3d MonoBehaviour类Invoke, Coroutine
- Unity3D:延时方法Invoke和InvokeRepeating
- Unity3D Invoke 方法的调用
- Unity3D --MonoBehaviour类Invoke,Coroutine
- C#控制台基础 activator与invoke,利用反射调用一个类的无参数方法
- 在 C# 中通过 P/Invoke 调用Win32 DLL
- Unity3d中调用webservice方法
- 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
- 关于performSelector延迟调用后无法走dealloc方法
- Coroutine 切换调用的例子
- 自动生成P/Invoke调用Windows API的C#函数声明
- 关于Unity3D的协程(Coroutine)
- "在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke"
- 调用短信接口和页面延迟加载
- Java ScheduledThreadPoolExecutor延迟或周期性执行任务
- 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
- 理解动态代理的神器:InvocationHandler中invoke()方法的调用问题
- Unity3D中的系统调用方法
- unity3d 延迟运行脚本语句