【狗刨学习网】【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生引子 上一次我们讲了GameObject,Compoent,Time,Input,Physics,其中Time,Input,Physics都是Unity中的全局变量。GameObject是游戏中的基本物件。GameObject是由Component组合而成的,GameObject本身必须有Transform的Component,这也加深了我们对GameObject的理解,即GameObject是游戏场景中真实存在,而且有位置的一个物件。 但是我们怎么操纵这个GameObject呢?这就需要引入脚本组件了,也就是今天讲的MonoBehaviourMonoBehaviour的生命周期 MonoBehaviour是Unity中所有脚本的基类,如果你使用JS的话,脚本会自动继承MonoBehaviour。如果使用C#的话,你需要显式继承MonoBehaviour。 在我们使用MonoBehaviour的时候,尤其需要注意的是它有哪些可重写函数,这些可重写函数会在游戏中发生某些事件的时候被调用。我们在Unity中最常用到的几个可重写函数是这几个:Awake:当一个脚本实例被载入时Awake被调用。我们大多在这个类中完成成员变量的初始化Start:仅在Update函数第一次被调用前调用。因为它是在Awake之后被调用的,我们可以把一些需要依赖Awake的变量放在Start里面初始化。 同时我们还大多在这个类中执行StartCoroutine进行一些协程的触发。要注意在用C#写脚本时,必须使用StartCoroutine开始一个协程,但是如果使用的是JavaScript,则不需要这么做。Update:当MonoBehaviour启用时,其Update在每一帧被调用。FixedUpdate:当MonoBehaviour启用时,其 FixedUpdate 在每一固定帧被调用。OnEnable:当对象变为可用或激活状态时此函数被调用。OnDisable:当对象变为不可用或非激活状态时此函数被调用。OnDestroy:当MonoBehaviour将被销毁时,这个函数被调用。下面用一张图来更形象地说明一下这几个类的在MonoBehaviour的生命周期中是如何被调用的:在上面这个图里,比较难以理解的就是Coroutine究竟是怎么回事?别着急,之后我们会单独写一篇博客来讲这件事。MonoBehaviour的那些坑私有(private)和保护(protected)变量只能在专家模式中显示.属性不被序列化或显示在检视面板.不要使用命名空间(namespace)记得使用 缓存组件查找, 即在MonoBehaviour的长远方法中经常被访问的组件最好在把它当作一个私有成员变量存储起来。在游戏里经常出现需要检测敌人和我方距离的问题,这时如果要寻找所有的敌人,显然要消耗的运算量太大了,所以最好的办法是将攻击范围使用Collider表示,然后将Collider的isTrigger设置为True。最后使用OnTriggerEnter来做攻击范围内的距离检测,这样会极大提升程序性能。总结在MonoBehaviour中最难理解的是Coroutine是如何实现的,但是如果在一篇博客里面写Coroutine的话,未免显得太长,我会在下一篇博客中写有关Coroutine的内容。更多精彩内容:www.gopedu.com
推荐整理分享【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生(unity3d入门教程中文图解),希望有所帮助,仅作参考,欢迎阅读内容。
![【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生(unity3d入门教程中文图解)](https://www.jiuchutong.com/image/20240129/1706503817.jpg)
文章相关热门搜索词:unity3d初学者教程视频,unity3d初学者教程视频,unity3d入门教程中文图解,unity3d2019教程,unity3d2019教程,unity3d基础教程,unity3d基础教程,unity3d基础教程,内容如对您有帮助,希望把文章链接给更多的朋友!
游戏开发之BAT涉足电视游戏:下一蓝海还在等风吹? 狗刨学习网报道在移动游戏渐成红海之后,创业公司、游戏企业和互联网巨头又把目光瞄向了电视游戏。近日,有消息称,阿里巴巴斥千万美元投资美
Strumpy Shader Editor入门教程 对于3D游戏来说,有很多绚丽的效果,都是靠shader(着色器)来实现的。不过很多朋友估计都不会编写shader,阿赵我自己也只是看了个入门,明白了它的
Unity3D游戏开发之动画模型导入 Unity3D游戏开发之动画模型导入导入动画文件后,在工程(Porject)面板中选中,通过Inspector面板修改参数设置。在项目视图中选中模型文件。如果想用旧