인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

재민님의 프로필 이미지
재민

작성한 질문수

따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01

타일 오브젝트 설정

IEnumerator 사용이유?

작성

·

403

0

코루틴을 사용하는 이유가 뭔가요?

시간이 지난 뒤에 함수를 실행하기 위해서는 Invoke를 사용하고

반복을 위해서는 While을 사용하면 되지않나요? 너무 햇갈려요..

답변 1

1

고박사님의 프로필 이미지
고박사
지식공유자

시간이 지난 뒤에 메소드를 실행하기 위해서 Invoke를 사용해도 되지만

Invoke의 경우 매개변수를 사용할 수 없고, 코루틴은 매개변수를 사용할 수 있습니다.

또한 코루틴과 Invoke의 속도를 비교했을 때 코루틴이 조금 더 빠릅니다.

 

그 외에도 코루틴은 TimeScale이 0일 때도 동작할 수 있다는 점과

코루틴은 게임오브젝트가 비활성화되면 동작하지 않지만 Invoke는 오브젝트를 파괴하기 전까지 활성/비활성 여부와 관계 없이 실행 됩니다. (이 부분은 어떤게 장점이다. 라기 보단 상황에 따라 사용할 수 있는 부분입니다.)

 

저는 주로 Invoke보다 코루틴을 선호하고 사용하는 경향이 있지만 Invoke를 쓰면 안된다. 라는건 아니기 때문에 원하는걸 상황에 따라 사용하면 됩니다.

재민님의 프로필 이미지
재민

작성한 질문수

질문하기