• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

ZIGZAG강의중 Start를 Coroutine으로 사용하는 이유가 무엇인가요?

24.01.06 14:46 작성 24.01.06 14:47 수정 조회수 87

0

안녕하세요! ZIGZAG 강의를 보던 중 GameController 스크립트와 PlayerController 스크립트에서 IEnumerator로 Start 함수를 사용하는 데, 일반적인 void가 아닌 IEnumerator로 선언하기에 사용하는 이유가 무엇인지 궁금해 질문을 남깁니다.

해당 스크립트들에서 Start를 Coroutine으로 선언하는 특별한 이유가 있을까요??

답변 1

답변을 작성해보세요.

0

안녕하세요.

유니티에서 Start() 메소드는 IEnumerator를 반환 값으로 사용해 코루틴으로 호출할 수 있도록 제공합니다.

아래 두 코드는 완전히 동일한 실행을 하기 때문에

만약 여러번 호출되기 때문에 BeforeGameStart()와 같이 메소드를 만들어야 하는게 아니라면

Start()에서 코루틴으로 처리해도 무관하기 때문에 영상에서는 Start를 코루틴으로 처리했습니다.

 

private void Start()

{

StartCoroutine("BeforeGameStart");
}

private IEnumerator BeforeGameStart()

{

// 마우스 왼쪽 버튼 클릭하면 게임 시작 처리
}

 

private IEnumerator Start()

{

// 마우스 왼쪽 버튼 클릭하면 게임 시작 처리
}