Component
组件
- Component是所有组件的基类。
- Unity中的游戏对象是基于组件的,所有游戏对象都可以由一个空物体加上一堆功能组件组成。
- 要让一个游戏对象具有一个新功能,只需要给它添加一个对应的组件就可以了,比如要想让物体发光就添加一个Light组件。
- 当选中一个游戏对象时,可以在检视面板中看到它所有的组件。
获取组件
- 只要能获取游戏对象的某一个组件,就可以通过该组件的
GetComponent<T>()
方法,获得该游戏对象的其他任意组件。// Disable the spring on the HingeJoint component. HingeJoint hinge = transform.GetComponent<HingeJoint>(); hinge.useSpring = false;
任何组件都可以使用tranform属性直接获取本游戏物体的transform组件。
5.0之前的版本还有light、camera、rigidbody等属性方便直接获取常用组件。但方便的同时也造成了混乱,5.0后就改掉了。
任何一个组件都可以通过
gameObject
属性获取其对应的游戏对象。- 组件只能用来获取其他组件,添加和删除组件有别的类来完成。具体内容将在后面章节介绍。
// 查找组件:Component、GameObject类都有GetComponent<T>()方法
Rigidbody r = GetComponent<Rigidbody>();
// 添加组件:
if (r == null)
r = gameObject.AddComponent<Rigidbody>();
// 删除组件
Object.Destory(r); 删除当前脚本对象组件
相关参考
- GameObject与Component的关系
- 顺序加载脚本