Unity3D学习过程:关于脚本和MonoBehaviour类
2018-01-06 14:30
351 查看
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当程序结束:应用程序退出时被调用;
宏观控制类,游戏对象类,组件类,资源类;
宏观控制类:
主要作用是对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当程序结束:应用程序退出时被调用;
相关文章推荐
- Unity3d 关于多脚本执行的状态判断
- [Unity3D] 学习笔记——MonoBehaviour类Invoke, Coroutin
- Unity 3D学习笔记(三)——关于脚本
- 一篇关于Unity3D优化的文章,翻译脚本优化部分 (2011-11-27 11:26:28)
- 关于学习的过程:痛并快乐着是一种收获
- 关于感知学习模型机中空间任一点到超平面的距离公式的推导过程
- 关于MSSQL存储过程中使用游标的一个小例子(学习)
- Unity3D 学习笔记(二)脚本的使用
- unity3d学习GUIFly脚本
- unity3d基础学习笔记2:脚本篇
- Unity3d C#脚本学习小结(七)[OnTriggerEnter的使用方法]
- 以后我会在这里写一些关于点云、Unity3d、shader、directX学习的文章
- 小试牛刀,学习PHP过程中关于环境配置的一个问题
- Unity3d学习 基础-关于MonoBehaviour的生命周期
- Unity3D学习之脚本入门(选择结构和循环结构)
- 【破浪学习】深入javascript引擎对脚本的处理过程
- 关于Unity3D的学习平台
- Unity3d中关于脚本的启用和禁用的意义及脚本前面的复选框消失的解释
- unity3D学习之Mono Develop脚本编辑器和常用核心类
- 学习安卓开发过程中遇到关于R.Java文件的问题