StopCoroutine(2)
-
StopCoroutine() 의 활용 2 - Coroutine continue failure
앞서 정리한 스탑코루틴의 활용 1의 내용으로 개념을 잡고 넘어가자. 코루틴 호출은 script.StartCoroutine() 으로 호출하게 되어있고, 앞부분을 생략하고 StartCoroutine()으로 호출하면 자동적으로 콜링한 스크립트에서 제어하는 코루틴으로 호출되도록 되어있다. 즉 StartCoroutine( ~~~ ) 를 포함하여 코루틴을 호출하면 이 코루틴은 자신을 콜링한 스크립트가 달려있는 게임오브젝트에 할당되는 것이다. 이것이 적용되어 해당 게임오브젝트를 disable시키면, 그 게임오브젝트에 할당되어 돌아가던 모든 코루틴은 정지된다. (StopAllCoroutine의 효과) 위의 그림을 참고하자. 위 그림은 이런 상황을 거친 결과다 Scr Main=== start() { StartCorout..
2015.10.14 -
StopCoroutine() 의 활용
코루틴을 멈추는 데에는 몇가지 방법이 있다. AllStopCoroutine(); 을 이용하여 전체 코루틴을 종료하는 것이 한가지 방법인데, 이때에는 해당 스크립트가 붙어있는 게임 오브젝트에 달려있는 모든 코루틴을 종료하는 것이므로 주의해야한다. 게임오브젝트를 비활성화 하는 것도 AllStopCoroutine을 호출하는 것과 같은 효과를 낸다. 전체를 끄거나 오브젝트에 코루틴이 하나만 달려있거나, 오브젝트별 코루틴을 잘 관리하고 있다면 위와 같은 방법이 효과적이지만 정확히 어떤 코루틴을 집어서 종료하고 싶을때에는 주로 StopCoroutine("코루틴 이름"); 을 이용했다. 해당 스크립트의 해당이름 코루틴을 찾아 종료시키는 것이다. 하지만 이것을 이용하여 코루틴을 멈출때도 제약이 꽤 있다. 같은 이름의 ..
2015.06.16