一、GetComponent<BoxCollider>().isTrigger = true;获取自身组件属性,从当前游戏对象获取组件BoxCollider,只在当前游戏对象中获取,没得到的就返回null,不会去子物体中去寻找
二、box = GetComponent<BoxCollider>();
print("BoxCollider组件的对象" + box.name);
三、gameObject.GetComponentInChildren<Rigidbody>();先从本对象中找Rigidbody组件,有就返回,没就子物体中找,直到找完为止。
四、GetComponent<Test>().enabled = false; 禁用 Test 组件。
GetComponent<BoxCollider>().isTrigger = true;
box = GetComponent<BoxCollider>();
rigidbody = gameObject.GetComponentInChildren<Rigidbody>();
if (rigidbody != null)
{
print("找到存在rigidbody组件的对象" + rigidbody.name);
}
五、使用最快的方法获得组件
light = (Light)GetComponent("Light");这个最慢
print("(Light)GetComponent(Light);"+ light.name);
light = GetComponent<Light>(); 这个最快最省资源
print("GetComponent<Light>();" + light.name);
light = (Light)GetComponent(typeof(Light));这个比上一个慢一点
print("(Light)GetComponent(typeof(Light))" + light.name);
在脚本中使用gameObject.transform.parent,可以获得你所依附的对象的父对象,如果再想往上一级获取,可以gameObject.transform.parent.parent
GetComponentsInChildren<T>()=GetComponentsInChildren<T>(true)取本游戏对象及子物体的所有组件
GetComponentsInChildren<T>(false)取本游戏对象及子物体的所有组件 除开非活跃的游戏对象,不是该组件是否活跃。