unity GetComponentsInChildren

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public HingeJoint[] hingeJoints;
	public void Awake() {
		hingeJoints = GetComponentsInChildren();
		foreach (HingeJoint joint in hingeJoints) {
			joint.useSpring = false;
		}
	}
}

Component.GetComponentsInChildren 获取子物体组件列表
function GetComponentsInChildren (t : Type, includeInactive : bool = false) : Component[]

Description描述

Returns all components of Type type in the GameObject or any of its children.

在GameObject或任何它的子物体,返回全部Type类型组件

For C# there is a generic version available.

对于C#有一个通用的版本。

Only active components are returned.

仅返回激活的组件


上面是官方的文档说明。

用在实际开发过程中,

GetComponentsInChildren可以得到的是子辈或者孙辈的列表。
比如:
在Inventory上面挂载的脚本执行
private InventoryItemUI[] listInventoryItems;
    private UIScrollView view;
    
    // Use this for initialization

    void Awake(){
//        view = transform.Find ("ScrollView").GetComponent<UIScrollView> ();
        listInventoryItems = GetComponentsInChildren<InventoryItemUI> ();
    }
可以直接得到package-item上面挂的所有InventoryItemUI脚本,而不是scrollview上面的脚本。
 
  

你可能感兴趣的:(unity,3D)