UnityAPI手册-2019.4官网版
文集大纲加载中……
本文档使用 MrDoc 发布
-
+
首页
Transform.Find
# [Transform](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.html).Find public [Transform](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.html) **Find** (string **n**); ## 参数 | n | 要查找的子项的名称。 | | --- | ---------------------- | ## 返回 **Transform** 如果找到子项,则返回该子变换;否则返回 null。 ## 描述 按 `n` 查找子项,然后返回它。 如果未找到具有 `n` 的子项,则返回 null。 如果 `n` 包含“/”字符,它将像访问路径名称那样访问层级视图中的变换。 __注意:[__.Find](https://docs.unity3d.com/cn/2019.4/ScriptReference/__.Find.html) 不在变换层级视图中执行递归向下查找。 ``` 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](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.Find.html) 不会在 [Transform](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.html) 层级视图中向下查找。[Find](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.Find.html) 只会搜索给定的子项列表,从而查找名为 [Transform](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.html) 的子项。以下示例显示了 [Find](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.Find.html) 的游戏对象搜索结果。在 [Find](https://docs.unity3d.com/cn/2019.4/ScriptReference/Transform.Find.html) 中使用每个游戏对象的名称。这就是为什么在层级视图的相同级别中找到并报告两个游戏对象的原因。  *附带三个子项的一个游戏对象。Find() 不能找到第三个子项。* ``` // 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; for (int i = 1; i < 4; i++) { string sph; sph = "sphere" + i.ToString(); result = gameObject.transform.Find(sph); if (result) { Debug.Log("Found: " + sph); } else { Debug.Log("Did not find: " + sph); } } } } ```
da
2022年6月21日 11:36
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码