一、Component类
查找物体组件的功能
private void OnGUI()
{
if(GUILayout.Button("按钮"))//设置按钮
{
this.transform.position = new Vector3(0, 0, 0);//改变位置
this.GetComponent<Renderer>().material.color = new Color(0, 1, 0);//改变颜色
}
}
var allComponent = this.GetComponents<Component>();
if(GUILayout.Button("按钮"))
{
foreach (var item in allComponent)
{
Debug.Log(item.GetType());
}
}
获取物体所有组件名称
private void OnGUI()
{
var allComponent = this.GetComponentsInChildren<Renderer>();// 去掉in前面的s就是查找一个组件(子物体独有)
if(GUILayout.Button("按钮"))
{
foreach (var item in allComponent)
{
item.material.color = Color.red;
}
}
}
从父物体开始一个一个查找子物体指定类型组件(子物体不能有脚本)
private void OnGUI()
{
var allComponent = this.GetComponentsInparent<Renderer>();
if(GUILayout.Button("按钮"))
{
foreach (var item in allComponent)
{
item.material.color = Color.red;
}
}
}
获取父物体指定类型组件