[Unity]/[Unity]

[Unity] StopCoroutine의 올바른 사용 방법

극꼼 2021. 6. 25. 12:04
반응형


 

안녕하세요, 극꼼이입니다.

 

오늘은 StopCoroutine 사용법을 알아볼건데요,

StopCoroutine은 잘못된 사용법을 이용하게 되면 코루틴이 제대로 정지되지 않는 현상이 발생하기 때문에 제대로 된 사용법을 숙지해야 합니다. 

 


StopCoroutine 사용법에는 String, Coroutine 2가지가 있습니다.

 

1. String

 

StopCoroutine 에서 String 방법을 쓸 때 중요한 부분은 StartCoroutine 에서도 String으로 코루틴 이름을 입력해야 한다는 점입니다.

위와 같이 입력한 후, 스페이스바를 누르면 StopCoroutine이 제대로 작동하는 것을 확인할 수 있습니다. 

 

String 으로 StopCoroutine을 사용할 경우, 아래와 같이 여러개의 코루틴을 돌리더라도 모두 정지됩니다.

따라서 원하는 코루틴만 정지하고 싶을 때 2번 방법을 이용합니다. 

 

 

2. Coroutine

 

Coroutine type의 변수(now)를 하나 선언해준 뒤, 위와 같이 StartCoroutine을 넣어주고(now에 코루틴이 할당됨과 동시에 해당 코루틴이 시작됩니다.), 비교를 위해다른 코루틴들을 돌려줍니다.

 

그 다음 스페이스바를 눌렀을 때, now코루틴을 StopCoroutine에 넣어주면 

빨갛게 표시한 부분이 StopCoroutine(now)을 사용한 이후

원하는 코루틴(now = SetCoroutine(1))만 정지된 것을 확인할 수 있습니다. 

 

여러개의 같은 이름의 코루틴을 한꺼번에 정지할 땐 String방법을, 원하는 코루틴만 지정해서 정지할 땐 Coroutine방법을 쓰면 좋을 것 같습니다.

 


 

오늘은 여기까지 StopCoroutine 사용법을 알아보았습니다.

잘못된 정보가 있다면 댓글로 알려주세요!

반응형