赞
踩
Unity中 Destory()函数销毁对象时不是立刻销毁的,他是一个延迟执行的函数,是在当前帧之后,渲染帧之前销毁对象,例如下面代码:
Destroy(transform.GetChild(0).gameObject);
Debug.Log(transform.childCount);
子物体只有一个,当用Destory函数销毁子物体后,打印子物体个数还是1。
解决方法:
使用DestroyImmediate函数,他是立即销毁对象。
DestroyImmediate(transform.GetChild(0).gameObject);
Debug.Log(transform.childCount);
得到的结果是0。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。