inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

서브 루틴 (Coroutine)

섹션2: 서브루틴

378

박미라

작성한 질문수 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가 있을 경우 지정된 시간만큼 대기하다가 지정된 시간이 경과하면 업데이트 다음에 다시 실행됩니다.

02-02 NavMesh 응용 캐릭터 멈춤 문제

0

26

1

02-02 NavMesh 응용 캐릭터 멈춤 문제

0

27

2

비주얼 스튜디오 2026

0

25

1

C#에서의 RAII

0

47

3

public string Title { get; set; } 에서 WFO1000 오류가납니다.

0

29

0

Scene 뷰에서 Enemy Entity가 보이지 않는 문제

0

41

2

Lessons 3 & 4 don't have subtitles unfortunately

0

35

1

클로드코드 + 유니티 컨텐츠만들기 응용에 대하여 질문드립니다.

0

54

1

강의자료 누락

0

58

1

매니저 관련 질문이 있습니다.

0

60

2

언리얼 에디터에서 에이젼트 실행 질문

0

48

1

Instantiate

0

42

2

유니티 허브 다운로드

1

50

2

Rider 설치시 타깃 프레임워크 설정

0

48

2

강의자료 누락

0

28

1

비쥬얼 스튜디오에서 unity연결이 없습니다.

0

67

2

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

0

108

1

섹션2: 충돌처리

0

234

1

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

0

619

1

섹션2: 충돌처리

0

196

1

섹션2: 에너미공격

0

298

1

섹션2: 에너미이동

0

220

1

섹션2: 에너미 이동2

0

369

2

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

0

335

2