코루틴이란?

suhan cho·2022년 8월 10일
0

상황

문제: 생성직후부터 총 8초에 걸쳐 서서히 나타났다가 서서히 없어지는 것을 반복하는 적이 있다고 할 때 어떻게 적을 구현할 것인가?

해결방법:

  • Udate함수를 사용하여 매프레임에 걸쳐 적의 SpriteRenderer를 통해서 알파값을 조정해준느 방법으로 해결할 수 있다.
    -> 위와 같은 방법은 매프레임마다 구현된 함수를 호출해야하므로 시스템 과부하 초래 가능

  • FadeIn(적이 나타나는 함수), FadeOut(적이 사라지는 함수)를 만들어 Invoke함수를 통해서
    FadeIn-FadeOut-FadeIn을 계속 도는 구조로 만들어 해결 가능
    -> 위와 같은 방법은 Invoke함수에 주기도 설정해주어야하고, Invoke함수는 함수에 인자를 전달할 수 없기 때문ㅇ 이로 인해서 코드가 구조적으로 복잡하게 짜여질 수 있다.

  • 이렇기에 코루틴을 사용하면 좋다

코루틴이란

  • 실행을 중지하고 Unity에 제어권을 돌려주고, 계속할 때는 다음 프레임에서 중지한 곳부터 실행을 계속할 수 있는 기능

  • 코루틴은 단일 쓰레드로 동작하는 유니티를 멀티 쓰레드처럼 보이게 하는 기술

  • 코루틴은 Udate과정에서 코루틴으로 통제권이 넘어갔다가 다시 Udate로 돌아오는 형태
    출처: https://hangjastar.tistory.com/82

profile
안녕하세요

0개의 댓글