섹션2: 서브루틴
373
작성한 질문수 7
질문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 + "초 만큼 경과");
}
}
}
답변 1
0
안녕하세요.
코루틴은 개념상으로는 스타트나 업데이트 함수와 별개로 진행됩니다. 즉, 코루틴은 스타트나 업데이트 함수의 진행과 무관하게 따로 실행된다고 생각하시면 됩니다.
cortDT1이 Start()에서 시작하고, 1초 기다리는 동안 Start()의 그 밑에 있는 함수가 실행되는 건가요?
맞습니다. 코루틴은 스타트 함수에서 호출하는 그 순간부터 별도의 프로세스로 진행됩니다.
그러면 Update()는 언제 실행되는 건가요? 실행순서가 궁금합니다!
정확히는 코루틴은 업데이트 함수 다음에 실행되고, yield가 있을 경우 지정된 시간만큼 대기하다가 지정된 시간이 경과하면 업데이트 다음에 다시 실행됩니다.
OAuth방식 강의 문의
0
7
0
싱글턴패턴
0
3
1
코드 관련 질문
0
21
2
섹션7 수업자료 업로드 부탁드립니다.
0
22
2
Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의
0
19
1
프로젝트 질문 문의
0
45
1
UI 기능 관련 질문이 있습니다!
0
37
2
03-01 (16. CharacterController)
0
31
2
TLS 질문드립니다.
0
43
2
Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.
0
27
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
46
2
픽셀 좌표 스크린 좌표
0
33
0
Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?
0
25
1
Rider대신 VS를 써도 괜찮나요?
0
116
2
Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의
0
217
2
LobbyUIController의 백키가 사라졌는데 왜그런건가요?
0
41
2
이수증 관려 문의 드립니다.
0
105
1
섹션2: 충돌처리
0
229
1
low resolution aspect ratios 체크박스 비활성화
0
612
1
섹션2: 충돌처리
0
192
1
섹션2: 에너미공격
0
295
1
섹션2: 에너미이동
0
215
1
섹션2: 에너미 이동2
0
361
2
섹션1 유니티기초: 사용자 오브젝트 제어2
0
328
2





