Unity Transform.Find与Transform.FindChild的关系?

两者完全没有区别,用法完全一致。

唯一的不同就是 Transform.FindChild目前在文档中已经查不到。估计是官方已经用Transform.Find取代了它。Transform.FindChid属于即将被淘汰的用法。尽管目前我们在编写脚本时,还能使用Transform.FindChild,在MonoDevelop中输入transform.后还会提示该用法。

 

用法:

Transform Find(String name)    Transform FindChild(String name)

1.查找名为name的(transform.gameObject)直接子物体并返回该子物体的Transform属性。不能是孙子物体或更低辈分的子物体。

2.可以在name中使用字符'\' 遍历整个路径。其中路径的根必须是transform.gameObject的直接子物体,不能是孙子物体或更低辈分的子物体。

这样就可以访问到以transform.gameObject为根的物体树,包括其子物体,孙子物体,曾孙物体。。。。

 

若Cube物体有一个直接子物体Cube1,Cube1有一个直接子物体Cube2,我们就可以在Cube的脚本中使用transform.Find("Cube1/Cube2"); 或transform.FindChild("Cube1/Cube2");    这样就直接访问到了transform.gameObject的孙子物体Cube2。

你可能感兴趣的:(Unity Transform.Find与Transform.FindChild的关系?)