[Unity游戏开发] MonoBehaviour类常用方法(脚本生命周期)

首先借用一个图,不知道图源,如果有版权问题,请联系

上面这个图大概讲述了脚本生命周期


首先先讲一下MonoBehaviour类,一个unity的脚本必须继承MonoBehaviour。

继承自MonoBehaviour的脚本组件可以自动调用其封装好了的回调方法。也就是上面图所展示的方法会按顺序自动调用,但要注意其中有些是只调用一次,有些是重复调用。


任何脚本中的Awake都比其他脚本中的Start先执行,之后的也以此类推。同一种方法的执行顺序可以通过edit -> Project Settings -> Script Execution Order 来设置。

Awake():唤醒,当载入物体时立即调用一次,常用于在游戏开始前进行初始化。只执行一次。

OnEnable():每当对象脚本启用时调用,也就是组件前方的√,勾上的时候。可以在调试运行的时候勾上或取消的时候试一试。

Start():整个程序调用一次,常用于数据或游戏逻辑初始化。

FixedUpdate():固定更新。脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,例如移动等。设置更新频率:”Edit”—>”Project Setting”—>”Time”—>”Fixed Timestep”值,默认为0.02s。

Update():脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关。

LateUpdate():延迟更新,适用于跟随逻辑。

OnGUI():渲染和处理GUI事件时调用

OnBecameVisible():当可见时,当Mesh Renderer在任何相机上可见时调用。

OnBecameInvisible():当不可见时,当Mesh Renderer在任何相机上不可见时调用。

OnDisable():当不可用,对象变为不可用和附属游戏对象非激活状态时调用此函数。与OnEnable()对应。

OnDestroy():当销毁,当脚本销毁或附属游戏对象被销毁时调用。

OnApplicationQuit():当程序结束,应用退出时调用,一般来保存一些游戏数据。

原文地址:https://www.cnblogs.com/AlinaL/p/12852168.html