inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

밑바닥부터 시작하는 왕초보 유니티 2D 게임제작

서브 루틴 (Coroutine)

섹션2: 서브루틴

414

박미라

작성한 질문수 7

0

질문1. 코루틴은 코루틴이 대기하는 동안 Start()의 다른 함수나 Update() 함수가 진행되는 건가요?

예를들어 밑에 코드에서 cortDT1이 Start()에서 시작하고, 1초 기다리는 동안 Start()의 그 밑에 있는 함수가 실행되는 건가요? 그러면 Update()는 언제 실행되는 건가요? 실행순서가 궁금합니다!

public class Cort3 : MonoBehaviour
{   
    Coroutine cortDT1;
    Coroutine cortDT2;

    // Start is called before the first frame update
    void Start()
    {
        cortDT1 = StartCoroutine(DelayTime(1));
        cortDT2 = StartCoroutine(DelayTime(2));
    }

    // Update is called once per frame
    void Update()
    {   
        if(Input.GetKeyDown("space")){
            StopAllCoroutines();
        }
    }

    IEnumerator DelayTime(float time){

        while(true){
            yield return new WaitForSeconds(time); //메인루틴(update함수)으로 양도권 양보
            print(time + "초 만큼 경과");
        }
    }
}

 

C# unity

답변 1

0

게임 트레이너

안녕하세요.

코루틴은 개념상으로는 스타트나 업데이트 함수와 별개로 진행됩니다. 즉, 코루틴은 스타트나 업데이트 함수의 진행과 무관하게 따로 실행된다고 생각하시면 됩니다.

  • cortDT1이 Start()에서 시작하고, 1초 기다리는 동안 Start()의 그 밑에 있는 함수가 실행되는 건가요?

맞습니다. 코루틴은 스타트 함수에서 호출하는 그 순간부터 별도의 프로세스로 진행됩니다.

  • 그러면 Update()는 언제 실행되는 건가요? 실행순서가 궁금합니다!

정확히는 코루틴은 업데이트 함수 다음에 실행되고, yield가 있을 경우 지정된 시간만큼 대기하다가 지정된 시간이 경과하면 업데이트 다음에 다시 실행됩니다.

스크립트의 참조 설정

0

20

2

코드 스크립트 완성본 못 받나요 ?

0

68

2

'Canvas 설정과 배경 설정’ 부분에 대해 질문드립니다.

1

60

1

02-03 벽 마찰력 설정 material 적용 부분

0

53

1

영상이 안나옵니다. 그냥 빈공간이에요

1

88

3

layout group의 종류 3가지 실무 적합활용이 궁금합니다.

0

62

1

수박게임 자료 받았는데 plante05, 06이 없습니다.

0

65

1

14강 녹음이 안되어 있습니다

0

61

1

유니티webgl 과 안티그래비티를 협업시키고 싶습니다.

0

81

2

소스를 받을 수 있는 링크가 있을까요?

0

92

2

프로덕션 부분 사용 불가

0

95

2

접근지정자

0

91

2

섹터2 5강 Authconfig 문의

0

86

1

in-app purchasing 버튼의 install 버튼이 비활성화되어있을때 어떻게 해결해야하나요 ?

0

97

2

유니티 제외 설치한 프로그램들 및 파일 삭제 방법

0

106

1

깃허브에서 콤피유아이 매니저 설치하는게 안됩니다.

0

120

2

이수증 관려 문의 드립니다.

0

130

1

섹션2: 충돌처리

0

256

1

low resolution aspect ratios 체크박스 비활성화

0

656

1

섹션2: 충돌처리

0

225

1

섹션2: 에너미공격

0

324

1

섹션2: 에너미이동

0

241

1

섹션2: 에너미 이동2

0

404

2

섹션1 유니티기초: 사용자 오브젝트 제어2

0

373

2