使用递归关闭子物体下的子物体,这里指的关闭并不是SetActive,假如用这个方法关闭的话
这个物体上的脚本就不会生效了,所以用另外一个方法,关闭他的网格 MeshRenderer
这样即使有脚本在这个物体上这个脚本还是会被执行并且这个物体可以被隐藏
MeshRenderer mr;// 首先定义了一个 MeshRenderer
void Start () {
CtrlMr(transform,false);//调用这个方法 因为这个脚本在父物体上所以给他传个自身
}
void CtrlMr(Transform trans,bool isShow)
{
mr = trans.GetComponent<MeshRenderer>();//给 MeshRenderer 赋值
if (mr) //看看这个是不是空物体 假如没有MeshRenderer 就不管他了
{
mr.enabled = isShow;//关闭
}
for (int i = 0; i < trans.childCount; i++)//获取它当前子物体的个数
{
CtrlMr(trans.GetChild(i), isShow);//直接调用方法自身
}
}
就是非常简单的小东西 大神多多指出问题 感谢感谢!
`