type | 要检索的组件的类型。 |
includeInactive | 在发现结果集内是否应包含非活动 GameObject 上的组件? |
返回 GameObject 或其任何子项中类型为 type
的所有组件。
Unity 以递归方式在子 GameObject 上搜索组件。这意味着,它还包含目标 GameObject 的子 GameObject 以及所有后续子 GameObject。
注意:如果请求的类型是 MonoBehaviour 的衍生并且无法加载关联的脚本,此函数将为该组件返回“null”。
using UnityEngine;
public class GetComponentsInChildrenExample : MonoBehaviour { void Start() { Component[] hingeJoints;
hingeJoints = GetComponentsInChildren(typeof(HingeJoint));
if (hingeJoints != null) { foreach (HingeJoint joint in hingeJoints) joint.useSpring = false; } else { // Try again, looking for inactive GameObjects Component[] hingesInactive = GetComponentsInChildren(typeof(HingeJoint), true);
foreach (HingeJoint joint in hingesInactive) joint.useSpring = false; } } }
includeInactive | 在发现结果集内是否应包含非活动 GameObject? |
T[] 匹配指定类型的所有已发现组件的列表。
Generic version of this method.
注意:如果请求的类型是 MonoBehaviour 的衍生并且无法加载关联的脚本,此函数将为该组件返回“null”。
using UnityEngine;
public class GetComponentsInChildrenExample : MonoBehaviour { void Start() { HingeJoint[] hingeJoints;
hingeJoints = GetComponentsInChildren<HingeJoint>();
if (hingeJoints != null) { foreach (HingeJoint joint in hingeJoints) joint.useSpring = false; } else { // Try again, looking for inactive GameObjects HingeJoint[] hingesInactive = GetComponentsInChildren<HingeJoint>(true);
foreach (HingeJoint joint in hingesInactive) joint.useSpring = false; } } }
results | 用于接收找到的组件的列表。 |
includeInactive | 在发现结果集内是否应包含非活动 GameObject? |
将找到的所有组件均返回到 List results
中。
注意:如果请求的类型是 MonoBehaviour 的衍生并且无法加载关联的脚本,此函数将为该组件返回“null”。
using UnityEngine; using System.Collections.Generic;
public class GetComponentsInChildrenExample : MonoBehaviour { void Start() { List<HingeJoint> hingeJoints = new List<HingeJoint>();
GetComponentsInChildren<HingeJoint>(false, hingeJoints);
if (hingeJoints != null) { foreach (HingeJoint joint in hingeJoints) joint.useSpring = false; } else { // Try again, looking for inactive GameObjects List<HingeJoint> hingesInactive = new List<HingeJoint>();
GetComponentsInChildren<HingeJoint>(true, hingesInactive);
foreach (HingeJoint joint in hingesInactive) joint.useSpring = false; } } }