欢迎来到天天文库
浏览记录
ID:39891191
大小:167.91 KB
页数:3页
时间:2019-07-14
《Unity3D游戏开发之所有脚本组件的基类 -- MonoBehaviou》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Unity3D游戏开发之所有脚本组件的基类--MonoBehaviour的前世今生MonoBehaviour的生命周期 MonoBehaviour是Unity中所有脚本的基类,如果你使用JS的话,脚本会自动继承MonoBehaviour。如果使用C#的话,你需要显式继承MonoBehaviour。 在我们使用MonoBehaviour的时候,尤其需要注意的是它有哪些可重写函数,这些可重写函数会在游戏中发生某些事件的时候被调用。我们在Unity中最常用到的几个可重写函数是这几个:·
2、 Awake:当一个脚本实例被载入时Awake被调用。我们大多在这个类中完成成员变量的初始化· Start:仅在Update函数第一次被调用前调用。因为它是在Awake之后被调用的,我们可以把一些需要依赖Awake的变量放在Start里面初始化。 同时我们还大多在这个类中执行StartCoroutine进行一些协程的触发。要注意在用C#写脚本时,必须使用StartCoroutine开始一个协程,但是如果使用的是JavaScript,则不需要这么做。· Update
3、:当MonoBehaviour启用时,其Update在每一帧被调用。· FixedUpdate:当MonoBehaviour启用时,其 FixedUpdate 在每一固定帧被调用。· OnEnable:当对象变为可用或激活状态时此函数被调用。· OnDisable:当对象变为不可用或非激活状态时此函数被调用。· OnDestroy:当MonoBehaviour将被销毁时,这个函数被调用。 下面用一张图来更形象地说明一下这几个类的在MonoBehavi
4、our的生命周期中是如何被调用的: 在上面这个图里,比较难以理解的就是Coroutine究竟是怎么回事?别着急,之后我们会单独写一篇博客来讲这件事。文章出处【狗刨学习网】MonoBehaviour的那些坑· 私有(private)和保护(protected)变量只能在专家模式中显示.属性不被序列化或显示在检视面板.· 不要使用命名空间(namespace)· 记得使用 缓存组件查找, 即在MonoBehaviour的长远方法中经常被访问的组件最好在把
5、它当作一个私有成员变量存储起来。· 在游戏里经常出现需要检测敌人和我方距离的问题,这时如果要寻找所有的敌人,显然要消耗的运算量太大了,所以最好的办法是将攻击范围使用Collider表示,然后将Collider的isTrigger设置为True。最后使用OnTriggerEnter来做攻击范围内的距离检测,这样会极大提升程序性能。总结 在MonoBehaviour中最难理解的是Coroutine是如何实现的,但是如果在一篇博客里面写Coroutine的话,未免显得太长,我会在下一篇
6、博客中写有关Coroutine的内容。
此文档下载收益归作者所有