GameObject.Find与Transform.Find的区别
Posted blackteeth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GameObject.Find与Transform.Find的区别相关的知识,希望对你有一定的参考价值。
1.GameObject.Find
函数原型:
public static GameObject Find(string name);
说明:1.GameObject只能查找到active的物体
2.如果name指定路径,则按路径查找;否则递归查找,直到查找到第一个符合条件的GameObject或者返回null
2.transform.Find
函数原型:
public Transform Find(string n);
说明:1.transform.Find用于查找子节点,它并不会递归的查找物体,也就是说它只会查找它的子节点,并不会查找子节点的子节点。
用代码验证:
1 public class TestFind : MonoBehaviour 2 { 3 4 public string name = ""; 5 private void Start() 6 { 7 Transform t = transform.Find(name); 8 if(t != null) 9 print("找到了"); 10 else 11 { 12 print("没找到"); 13 } 14 } 15 }
说明:TestFind脚本挂在GameObject物体上。
1.name为a, 输出找到了
2.name为aa,输出没找到
3.name为b,输出找到了
4.name为bb,输出没找到
以上是关于GameObject.Find与Transform.Find的区别的主要内容,如果未能解决你的问题,请参考以下文章
小白_Unity引擎_访问组件--GameObject.Find()和transform.Find();
unity3D中GameObject.Find()Transform.Find查找隐藏对象分析
100个 Unity小知识点 | Unity两种获取游戏对象的方法,GameObject.Find 和 Transform.Find区别