본문 바로가기

Unity

코루틴 : 유니티 게임 오브젝트가 사라질 경우

유니티에서 코루틴은 StartCoroutine(코루틴)으로 시작하는데, 이때 StartCoroutine은 MonoBehaviour에서 상속 받는다.


그리고, 해당 MonoBehaviour가 사라지거나 꺼져서 작동하지 않게 될 경우에는, 해당 인스턴스가 사라져서, 코루틴은 중도에 터지게 된다.


이러한 부분을 해결할 수 있는 방법이 하나 있는데


바로 다른 MonoBehaviour에서 코루틴을 실행해 주는 방법이다.


이렇게 될 경우, 코루틴을 실행해주는 MonoBehaviour에 해당 코루틴이 인스턴스되어(참조가 아니라 인스턴스 된다. 그렇기에 코루틴이 돌고 있는 게임오브젝트가 destory되더라도 코루틴은) 정상 작동된다.



추천하는 방법은 : 


ContentManager.instance.StartCoroutine(this.Coroutine());


이다.

'Unity' 카테고리의 다른 글

이미지 캐싱 (캐싱파일만들기)  (0) 2020.01.30
콘텐츠 초기화  (0) 2018.12.04
Unity Android 빌드 오류 : Manifast error  (0) 2017.07.30
Everyplay manifast 셋팅  (0) 2017.07.30
유니티 실행시 인자 받아오기.  (0) 2017.07.06