카테고리 없음

UnityEngine.Destroy(GameObject gameObject)

ljw4104 2021. 5. 26. 16:09

말 그대로 게임오브젝트를 파괴하는 함수.

 

foreach (Transform tmp in child)
{
    Destroy(tmp.gameObject);
}

다음과 같은 구문이있다. 말그대로 child 하위에 있는 모든 게임오브젝트를 삭제하는 것이다.

이 구문이 끝나고 child라는 오브젝트의 자식의 갯수를 출력하면 0이 나올까? 그렇지않다.

 

오브젝트가 소멸될 때 OnDestroy라는 함수가 호출된 후에 소멸이된다. 실제로 소멸이 일어나는 타이밍에 객체를 소멸시키기 직전에 호출된다. 그렇기 때문에 같은 프레임에서 결과를 보장할 수 없다.

 

해결책은 다음프레임에서 실행하면 된다.