赞
踩
首先借用一个图,不知道图源,如果有版权问题,请联系
上面这个图大概讲述了脚本生命周期
首先先讲一下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():当程序结束,应用退出时调用,一般来保存一些游戏数据。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。