Unity脚本类为什么要尽量避免继承unity monobehaviourr类

Unity3D普通类和继承自MonoBehaviour类的区别_百度知道3135人阅读
unity3d(23)
如果创建新的类时,使用的是在unity editor的project视图中右键,create javascript or c#方式,那么创建的类都是默认继承自MonoBehaviour, 生成后可以查看类文件,会发现c#类继承自MonoBehaviour, 虽然javascript的类前面没有这个继承自MonoBehaviour的关键字样,但是默认也是从它继承而来,这是unity的规定。这样的类和普通没有继承自MonoBehaviour的类,有什么区别呢?区别很多,我们只说一点: 继承自MonoBehaviour的类,不需要自己创建它的实例,也不能自己创建(如
new 类名),编译的时候可以编译过去,但是执行的时候会给你一个错误在unity editor的console窗口,并且你new 后得到的东西为空;其实这是unity的一个bug,既然继承自MonoBehaviour的类不能new出来,为什么在编译的时候就给个错误,而是在运行时,如果没有看到unity editor的console窗口的内容真的很难知道为什么new的东西为空。为什么不需要自己创建呢?因为所有从MonoBehaviour继承过来的类,unity都会自动创建实例,并且调用被重载的方法,如我们经常用到的Awake,
Start, Update等。而普通类,就可以用new来创建实例了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:176251次
积分:2674
积分:2674
排名:第9541名
原创:57篇
转载:205篇
(1)(3)(3)(26)(11)(54)(21)(4)(19)(6)(36)(12)(27)(17)(24)ma_haile 的BLOG
用户名:ma_haile
文章数:38
评论数:25
访问量:561721
注册日期:
阅读量:5863
阅读量:12276
阅读量:321115
阅读量:1031970
51CTO推荐博文
&MonoBehaviour Mono行为&
上图为 常见见的脚本 方法 &&
下面我们看看每个方法的
OnAwake 方法: &当脚本实例被载入时Awake被调用&
OnStart 方法: &Start仅在Update函数第一次被调用前调用。
OnUupdate 方法 :渲染一帧之前被调用。这里是大部分游戏行为代码被执行的地方,除了物理代码
OnGUI 方法: &渲染和处理GUI事件时调用 这里不是 没帧都调用哦&
FixedUpdate 方法:&这个函数在每个物理时间步被调用一次。这是处理基于物理游戏行为的地方。
LateUpdat 方法 :是在所有Update函数调用后被调用。这可用于调整脚本执行顺序。例如:当物体在Update里移动时,跟随物体的相机可以在LateUpdate里实现
Reset 方法 :&重置为默认值
OnDisable 方法:&当对象变为不可用或非激活状态时此函数被调用。
On&方法:当MonoBehaviour将被销毁时,这个函数被调用
欢迎各位盆友 提出bug 和一起探讨 &由于忙公司项目了 ,今天先写到这里了,嘻嘻本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)给我们留言
地址:福建省晋江市青阳街道洪山路国际工业设计园纳金网
电话: 400-067-3919
(周一到周五,
周六周日休息)
查看: 1098|回复: 2
最后登录注册时间阅读权限20积分260
设计实习生, 积分 260, 距离下一级还需 240 积分
纳金币36 精华0
假如A类继承MonoBehaviour,
B类继承A类,如果A累不挂在GameObject上,B类还有用吗?
另外,如果A类挂在GameObject上,B类不挂在GameObject,可以吗?
最后登录注册时间阅读权限30积分650
初级设计师, 积分 650, 距离下一级还需 350 积分
纳金币134 精华0
可以&&但是你既然不往gameobject上挂 你继承MonoBehaviour是为了对称么
最后登录注册时间阅读权限10积分91
设计初学者, 积分 91, 距离下一级还需 9 积分
纳金币13 精华0
不继承monobehavior就不能挂
站长推荐 /1
纳金名模第113期美术用品3d模型:数量30个,大小为55.9MB。完全免费下载哦!这样的福利我和我的小伙伴们都惊呆了!!下载地址:
400-067-3919
Powered by - X2.5
Narkii Inc.

我要回帖

更多关于 monobehaviour是什么 的文章

 

随机推荐