GetComponentInChildren获取子物体的组件,顺序为从上到下第一个有此组件的子物体
GetComponentsInChildren获取子物体的组件,返回一个此组件类型的数组
GetComponentInParent获取父物体的组件
MonoBehaviour派生自Behaviour派生自Component派生自Object
GetComponentInChildren获取子物体的组件,顺序为从上到下第一个有此组件的子物体
GetComponentsInChildren获取子物体的组件,返回一个此组件类型的数组
GetComponentInParent获取父物体的组件
MonoBehaviour派生自Behaviour派生自Component派生自Object
huode
通过一个物体找到另一个物体的组件
1(通过物体找到组件),先申明一个物体
物体.GetComponent<组件>获取组件 返回值是组件类型的
2(通过外物体的组件查找外物体的另一个组件)
spriteRenderer sr=grisGo.GetComponent<SpriteRenderer>();
组件类型=sr.GetComponent<sr物体所含有的组件>
Find component in children:自上而下遍历子物体,获得第一个有该类型的物体的组件
通过组件查找组件
1.通过父游戏物体查找子游戏物体的组件
①public GameObject enemygo;//先找到父游戏对象
②enemygo.GetComponentInChildren<BoxCollider>();//获取子游戏对象(一个子游戏对象)的组件。
③enemygo.GetComponentsInChildren<BoxCollider>();//获取子游戏对象(多个子游戏对象)的组件,结果输出的是数组。
获取父对象的方法
enemygo.GetComponentInParent<BoxCollider>();
通过组件查找组件
SpriteRenderer sr=girsGo.GetComponent<SpriteRenderer>();
sr.GetComponent<Transform>();
this.GetComponent<Trensform>();
1.查找子级组件
public GameObject enemyGos;
enemyGos.GetComponentInChildren<BoxCollider>();
enemyGos.GetComponentsInChildren<BoxCollider>();
2.查找父级组件
enemyGos.GetComponentInParent<BoxCollider>();
enemyGos.GetComponentsInParent<BoxCollider>();
除了GetComponent还有其他一些衍生的获取组件的API
public GameObject enemyGos;
//使用的是单数时,只会获取其中一个碰撞器enemyGos.GetComponentInChildren<enemyGos>