如下代码,我们先获取顶级对象root,接着用Find()去找它的子节点“xxxx”的对象,无论"xxxx"对象是否active = true 都是可以直接找到对象的。
GameObject root = GameObject.Find("root") ;
GameObject xxxx = root.transform.Find("xxxx").gameObject;
xxxx.SetActive(true);
Find()方法只能去找子节点,如果要找孙节点,那么用"/"符号把层级关系隔开,找起来很方便。
GameObject cube = root.transform.Find("xxxx/Cube").gameObject;
但是Transform,Find()必须要保证你的顶级父对象的active = true,也就是说如果在用到某个对象需要在一开始的时候让它的active等于false的时候,那么为了以后能用Transform.Find()的方法找到它,必须给他加个父节点,并让它的父节点的active等于true
转自MOMO大神的微博