유니티에서 코루틴은 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 |