n | 要查找的子项的名称。 |
Transform 如果找到子项,则返回该子变换;否则返回 null。
按 n
查找子项,然后返回它。
如果未找到具有 n
的子项,则返回 null。
如果 n
包含“/”字符,它将像访问路径名称那样访问层级视图中的变换。
__注意:__.Find 不在变换层级视图中执行递归向下查找。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GameObject player; public GameObject gun; public Transform ammo;
//Invoked when a button is clicked. public void Example() { //Finds and assigns the child of the player named "Gun". gun = player.transform.Find("Gun").gameObject;
//If the child was found. if (gun != null) { //Find the child named "ammo" of the gameobject "magazine" (magazine is a child of "gun"). ammo = gun.transform.Find("magazine/ammo"); } else Debug.Log("No child with the name 'Gun' attached to the player"); } }
如上所述,Find 不在 Transform 中向下查找。Find 将只搜索给定的子项列表,以查找名为 Transform 的子项。
A GameObject with three children. Find() does not find the third child.
// ExampleClass has a GameObject with three spheres attached. // Two of these are children of the GameObject. The third // transform, sphere3, is a child of sphere2. Find() does // not find this child.
using UnityEngine;
public class ExampleClass : MonoBehaviour { void Start() { Transform result = gameObject.transform.Find("sphere3");
if (result) { Debug.Log("Found sphere3"); } else { Debug.Log("Did not find sphere3"); } } }