1、Awake
Awake用于脚本唤醒,此方法为系统执行的第一个方法,用于脚本的初始化,在脚本的生命周期中,只执行一次。
2、Start
Start方法在Awake方法后执行,在脚本的生命周期中只执行一次。
由于Awake和Start函数的特性与C#中的构造函数类似(一般情况下,在整个脚本生命周期中只执行一次),所以在unity中也常用来初始化类的成员变量。
3、FixedUpdate
FixedUpdate用于固定频率更新。
在unity中依次单击菜单项Edit→Project Settings→Time,可以打开Time Manager面板,其中FixedTimestep选项用于设置FIxed Update的更新频率,默认为0.02秒,即每秒50次。
通常情况下,FIxedUpdate()会比UPdate()更频繁的调用。当帧率较低时,在某一帧的时间间隔内FIxedUpdate可能会被调用很多次;而当帧率很高时,在某一帧的时间间隔内FIxedUpodate可能根本不会被调用
还有一点,在unity中,若设置Time Scale值为0,可以实现动力学特性的暂停,即所有在FixedUpdate函数中的代码都不会被执行。
4、Update
Update用于正常的更新,即用于帧更新后同步场景状态。此方法每帧都会由系统自动调用一次。
在使用Update()时,对于一些变量,如速度,移动距离等通常需要乘以Time.deltaTime来修正状态改变频率。
5、LateUpdate
LateUpdate用于延迟更新,此方法在Update()之后执行,每一帧调用一次。
6、OnGUI
OnGUI用来绘制用户交互界面,在一帧中会调用多次,其中,在布局(Layout)和重绘(Repaint)相关事件会被优先处理,然后是键盘和鼠标事件。
7、OnDestory
OnDestory在当前脚本销毁时调用,若在脚本中动态分配了内存,可以在OnDesTory中进行释放。