unity 延迟执行
- 作者: 铖是Superman的铖
- 来源: 51数据库
- 2020-09-29
可以使用Invoke和InvokeRepeating第一个是执行一次,第二个是重复执行。
void Invoke(string methodName, float time);
第一个参数是方法名(注意是字符串形式),并不是更方便的委托。第二个是延时多少秒。只执行一次。
void InvokeRepeating(string methodName, float time, float repeatRate);
InvokeRepeating第二个参数是延时多少秒后开始,第三个参数是每次执行间隔的秒数。
这两个方法最好写到start中,因为Update是每帧执行的
update
每帧都执行一次。这是最常用的事件函数。
fixedupdate
每固定帧绘制时执行一次,和update不同的是fixedupdate是渲染帧执行,如果你的渲染效率低下的时候fixedupdate调用次数就会跟着下降。fixedupdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。update就比较适合做控制。
lateupdate
在每帧执行完毕调用,他是在所有update结束后才掉,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。
以上是参考了别人总结的东西,希望对你有所帮助。
void Invoke(string methodName, float time);
第一个参数是方法名(注意是字符串形式),并不是更方便的委托。第二个是延时多少秒。只执行一次。
void InvokeRepeating(string methodName, float time, float repeatRate);
InvokeRepeating第二个参数是延时多少秒后开始,第三个参数是每次执行间隔的秒数。
这两个方法最好写到start中,因为Update是每帧执行的
update
每帧都执行一次。这是最常用的事件函数。
fixedupdate
每固定帧绘制时执行一次,和update不同的是fixedupdate是渲染帧执行,如果你的渲染效率低下的时候fixedupdate调用次数就会跟着下降。fixedupdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。update就比较适合做控制。
lateupdate
在每帧执行完毕调用,他是在所有update结束后才掉,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。
以上是参考了别人总结的东西,希望对你有所帮助。
推荐阅读
