Unity3D学习过程:关于脚本和MonoBehaviour类
Unity中常用脚本类简单分为四大类:
宏观控制类,游戏对象类,组件类,资源类;
宏观控制类:
主要作用是对Unity程序中的某一方面进行宏观控制;
例如:应用程序类(Application)、输入类(input)、图形输出类(GUI)、物理引擎类(Physics)、
资源类(Resources)、时间类(Time)等;
游戏对象类(GameObject)类:表示当前脚本挂在的游戏对象;
组件(Component)类:每一个游戏对象的细节设置与操控都需要借助组件类来完成;
MonoBehaviour类
Unity脚本组件必须继承MonoBehaviour类;
继承自MonoBehaviour的脚本组件可以自动调用其封装好的回调方法;
脚本生命周期:
Awake()唤醒:当物体载入时立即调用1次,常用于在游戏开始前进时进行初始化,
可以判断当满足某种条件执行此脚本this. enable = true;
OnEnable()当可用:每当脚本对象启用时调用;
Start()开始:物体载入且脚本对象启用时被调用1次,常用于数据或游戏逻辑初始化,执行时间晚于Awake;
物理阶段
FixedUpdate()固定更新:脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,例如移动等。
设置更新频率:“Edit”-->"Project Setting" -->"Time"-->"Fixed Timestep"值,默认为0.02s;
游戏逻辑
Update()更新:脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关;
LateUpdate()延迟更新:在Update函数被调用后执行,适用于跟随逻辑;
场景渲染
OnGui()渲染:渲染和处理GUI事件时调用
OnBecameVisible()当可见:当Mesh Renderer在任何相机上可见时调用;
OnBecameInvisible当不可见:当Mesh Renderer在任何相机上不见时调用;
结束阶段
OnDisable()当不可用:对象变为不可用和附属游戏对象非**状态时此函数被调用;
OnDestroy()当销毁:当脚本销毁或附属的游戏对象被销毁时调用;
OnApplicationQuit当程序结束:应用程序退出时被调用;