Unity3D定时器的调用
2015-03-03 09:04
946 查看
转载自:http://unity3d.9tech.cn/news/2014/0402/40149.html
在游戏设计过程中定时器是必不可少的工具,我们知道update方法是MonoBehavior中一个人人皆知的定时器方法,每帧都在调用,那还有其他什么定时器的方法呢,这里介绍一下。
1.Invoke(string methodName,float time)
在一定时间调用methodName函数
2.InvokeRepeating(string methodName,float time,float repeatRate)
每隔一定时间调用一次methodName函数
Invokes the method methodName in time seconds.
在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法
After the first invocation repeats calling that function every repeatRate seconds.
从第一次调用开始,每隔repeatRate时间调用一次.
3.CancelInvoke(string methodName)
取消这个脚本中所有的调用
Cancels all Invoke calls on this MonoBehaviour.
取消这个MonoBehaviour上的所有调用。
4.(bool) IsInvoking(string methodName)
某指定函数是否在等候调用
Invoke() 方法是 Unity3D 的一种委托机制
如: Invoke("SendMsg", 5); 它的意思是:5 秒之后调用 SendMsg() 方法;
使用 Invoke() 方法需要注意 3点:
1 :它应该在 脚本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被调用;
2:Invoke(); 不能接受含有 参数的方法;
3:在 Time.ScaleTime = 0; 时, Invoke() 无效,因为它不会被调用到
Invoke() 也支持重复调用:InvokeRepeating("SendMsg", 2 , 3);
这个方法的意思是指:2 秒后调用 SendMsg() 方法,并且之后每隔 3 秒调用一次 SendMsg () 方法
在游戏设计过程中定时器是必不可少的工具,我们知道update方法是MonoBehavior中一个人人皆知的定时器方法,每帧都在调用,那还有其他什么定时器的方法呢,这里介绍一下。
1.Invoke(string methodName,float time)
在一定时间调用methodName函数
每隔一定时间调用一次methodName函数
Invokes the method methodName in time seconds.
在time秒调用methodName方法;简单说,根据时间调用指定方法名的方法
After the first invocation repeats calling that function every repeatRate seconds.
从第一次调用开始,每隔repeatRate时间调用一次.
取消这个脚本中所有的调用
Cancels all Invoke calls on this MonoBehaviour.
取消这个MonoBehaviour上的所有调用。
某指定函数是否在等候调用
如: Invoke("SendMsg", 5); 它的意思是:5 秒之后调用 SendMsg() 方法;
使用 Invoke() 方法需要注意 3点:
1 :它应该在 脚本的生命周期里的(Start、Update、OnGUI、FixedUpdate、LateUpdate)中被调用;
2:Invoke(); 不能接受含有 参数的方法;
3:在 Time.ScaleTime = 0; 时, Invoke() 无效,因为它不会被调用到
Invoke() 也支持重复调用:InvokeRepeating("SendMsg", 2 , 3);
这个方法的意思是指:2 秒后调用 SendMsg() 方法,并且之后每隔 3 秒调用一次 SendMsg () 方法
相关文章推荐
- spring注解调用task定时器服务
- unity3d调用手机或电脑摄像头
- 浅析linux内核中timer定时器的生成和sofirq软中断调用流程(转自http://blog.chinaunix.net/uid-20564848-id-73480.html)
- Unity3D调用摄像头,画面为翻转的问题
- Unity3D——将Unity中自定义的类映射到Lua中来调用
- Unity3d和Android的互相调用(一)
- Unity3D调用Android Java代码
- Unity3D: JavaScript->C# 或 C#->JavaScript的调用
- unity3d调用第三方dll
- Unity3D教程:GameObject调用脚本方法
- Unity3D调用Android提供的接口
- Unity3d中调用C/C++封装的DLL
- js 定时器setTimeout无法调用局部变量的解决办法
- 关于Unity3D(4.7和5.3.4)与IOS原生Object-C交互,调用IOS原生UIImagePickerController的问题
- Unity3D中C#和js方法相互调用
- unity3D中常用的几种系统自调用的重要方法
- AngularJS 内置服务 ~ $timeout设置定时器(只调用一次)
- 第五天,uiscorllview的滚动和缩放,以及代理调用,定时器,对话框
- [Unity3D]调用Android接口
- 关于Java Web 使用Spring中使用Quartz(定时调用、实现固定时间执行), 触发定时器(执行某些任务)的实例