Unity-生命函数
1、Reset()
使用:相应脚本在不运行的时候调用;
调用方法:在脚本第一次挂载到对象上;或者调用Reset()方法调用
调用次数:此方法只调用一次;
作用:可以用来初始化各种属性。
2、Awake()
使用:
a、调用场景的时候
b、GameObject 从未激活状态到激活状态
c、在使用Instantiate 创建 GameObject的时候调用
调用方法:脚本实例化的生存时间,生命调用
调用次数:仅调用一次;
作用:Awake代替构造函数来进行初始化
3、OnEnable()
使用:依附的GameObject每次被调用的时候。
调用方法:脚本实例化的生存时间,生命调用。
调用次数:激活后就会调用一次,会重复调用。
作用:重复赋值;变为初始状态。
4、Start()
使用:进行第一帧跟新之前才会执行,只有在GameObject被激活后才会被调用,在Awake之后Update之前执行,方便控制逻辑的先后调用顺序
调用方法:脚本实例化的生存时间,生命调用。
调用次数:仅调用一次
作用:初始化一些东西
5、Fixed Update();
使用:主要用于物理更新,每个固定时间间隔执行。时间设置在编辑器中的顺序设置:Project setting—>Time—>Fixed Timestep中设置。
调用方法:脚本实例化的生存时间,生命调用。
调用次数:固定间隔时间调用
作用:主要用于物理更新,每个固定时间间隔执行。
6、Update()
使用:主要用于处理游戏核心逻辑更新,实时更新数据,接受输入数据,每帧调用,每秒60次左右。
调用方法:脚本实例化的生存时间,生命调用。
调用次数:与每秒的帧数相同。
作用:核心逻辑实现
7、Late Update()
使用:一般用于处理摄像机位置更新相关的内容,Update和Late Update之间,Unity进行了一些处理,对动画相关的更新,影响渲染的结果,如果在Update中更新摄像机,即摄像机位置变化后再更新动画。可能会出现渲染的错误,其运行帧率与Update相同。
调用方法:脚本实例化的生存时间,生命调用。
调用次数:Update后面执行
作用:
8、OnDisable()
使用:当对象被禁用时调用,脚本被禁用时,游戏对象被销毁时调用,
调用方法:脚本实例化的生存时间,生命调用。
调用次数:每一次禁用调用
作用:对于一些状态的重置,资源回收与清理
9、OnApplicationQuit()
在程序退出之前所有游戏对象都会调用这个函数
在编辑器中用户终止播放模式时调用
在网页视图关闭时
使用:
a、在程序退出之前所有游戏对象都会调用这个函数
b、编辑器中用户终止播放模式时调用
c、在网页视图关闭时
调用方法:满足以上情况时调用一次
调用次数:调用一次
作用:用于处理游戏退出后的一些逻辑
10、OnDestory()
使用:当物体被销毁时调用,对象存在的最后一帧更新完之后的所有Update函数执行完之后执行。
调用方法:物体销毁时候调用
调用次数:一次
作用:用于销毁一些游戏物体
生命函数执行顺序:


浙公网安备 33010602011771号