본문 바로가기

Unity

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

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


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


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


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


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



추천하는 방법은 : 


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


이다.

'Unity' 카테고리의 다른 글