카테고리 없음
UnityEngine.Destroy(GameObject gameObject)
ljw4104
2021. 5. 26. 16:09
말 그대로 게임오브젝트를 파괴하는 함수.
foreach (Transform tmp in child)
{
Destroy(tmp.gameObject);
}
다음과 같은 구문이있다. 말그대로 child 하위에 있는 모든 게임오브젝트를 삭제하는 것이다.
이 구문이 끝나고 child라는 오브젝트의 자식의 갯수를 출력하면 0이 나올까? 그렇지않다.
오브젝트가 소멸될 때 OnDestroy라는 함수가 호출된 후에 소멸이된다. 실제로 소멸이 일어나는 타이밍에 객체를 소멸시키기 직전에 호출된다. 그렇기 때문에 같은 프레임에서 결과를 보장할 수 없다.
해결책은 다음프레임에서 실행하면 된다.