哈哈,昨晚弄清楚了U3D的组件到底是怎么个机制,今天中午就通过写博客来梳理一遍吧!
1、首先,一个游戏之中会有很多的游戏场景(Scene),游戏场景中有很多的游戏物体(GameObject),包括摄像机、灯光、立方体等。这就构成了一个游戏的主体(当然还有脚本,待会再说)。其实,我们所说的的物体其实就是一个类,对应的是GameObject类,创建一个游戏物体也即是“new”了一个gameObject,只不过这个步骤由引擎来完成的,不需要开发人员来完成。
2、理解了游戏物体,我们在来谈一谈他的好基友游戏组件。其实这么说不太恰当,因为游戏物体和组件的关系并不是同级的,可以简单的这么说,游戏组件构成了游戏物体,而且不同的物体拥有不同的组件,但是所有的物体都有的组件就是Trasform。选中游戏物体可以在属性面板看到当前物体所拥有的组件,当然我们也可以给游戏物体添加组件。你也许会问,那么组件又是什么东西啊?组件也是类!!!学过面向对象编程语言的人都知道,我们可以在一个类(Object)中声明其他类(Test)类型的应用,Test test,在这里,Object就是游戏物体类,而Test就是一个组件,这个操作其实就是给object添加了一个组件(属性),所以我们就可以在属性面板上通过滑动来更改物体的属性了。
3、脚本也是组件,不过他是比较特殊的,因为在这个脚本里面可以做很多事情,比如获取当前挂载的游戏物