강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

시에라웨이브님의 프로필 이미지
시에라웨이브

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Destroy #1

질문드립니다.

해결된 질문

작성

·

195

0

궁금해서 여러 가지 실험을 해봤습니다.

Instantiate는 바로 아래 줄 코드에서 만들어진 객체를 접근할 수 있었는데, Destroy는 실행된 함수 내에서 처리가 안되어 계속 접근할 수 있었고, 다음 프레임에 넘어가서야 게임 오브젝트와 컴포넌트가 null이 되어 접근할 수 없게 되었습니다.

왜 이런 현상이 발생하는지 궁금합니다.

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

https://docs.unity3d.com/ScriptReference/Object.Destroy.html

유니티 API 관련된 부분은 유니티 공식 문서를 살펴보는 편이 가장 정확합니다.
Destroy는 바로 그 자리에서 삭제하진 않고, 프레임(Update)이 끝나는 시점에 삭제를 합니다.

The object obj is destroyed immediately after the current Update loop,

즉시 삭제하는 DestroyImmediate도 있긴 하지만 사용이 권장되지 않습니다.

시에라웨이브님의 프로필 이미지
시에라웨이브

작성한 질문수

질문하기