Invoke는 단순하게 원하는 시간 뒤에 함수를 호출하는 기능입니다. 코루틴은 그것보다 훨씬 복잡한 기능을 수행할 수 있습니다. 다른 객체의 상태를 기다리게 만들 수도 있고 웹 서버와 통신해서 응답이 오기를 기다릴 수도 있습니다. 결정적으로 함수 중간에 얼마든지 동작을 일시적으로 멈추고 원하는 무언가를 기다릴 수 있죠.
보통의 while 문에서 무한 반복 코드를 작성하면 프로그램이 응답없음 상태에 빠지면서 멈춰버립니다. 이 무한 반복 while문이 코드 제어권을 독점하고 있기 때문에 다른 작업을 처리하지 못해서 발생하는 일이죠. 하지만 코루틴 함수 내에서 yield return null을 포함한 무한 반복문을 작성하면 yield return null 코드를 실행할 때마다 코드 제어권을 양보하기 때문에 다른 작업을 할 수 있게 됩니다. 그래서 프로그램이 응답없음 상태에 빠지지 않는 것이죠.
제가 정말 유니티강의 많이 보는데 베르님 강의 촤고네요. 초심자보다 갖초보를 벗어나는 것 같은저에게는 전체적으로 다시 개념을 잡게해주네요 정말 감사합니다 베르선생님
칭찬 감사합니다 ㅎㅎ
제가 유니티 입문하면서 느꼈던 어려움들을 최대한 녹여내보려고 노력했습니다 ㅎㅎ
지금까지 혼자 하면서 tOrF라는 변수에 값을 넣고 빼고하면서 정말 자료구조적 측면에서 죄책감(?)같은 걸 느끼고 있었는데 정말 감사합니다... 진짜 말이 안 된다고 생각했었거든요, 초당 60번 넘게 돌아가는 함수에 조건문 남발이라니...
코루틴은 굉장히 좋은 기능이죠!ㅎㅎ
매번 잘보고있습니다. 감사합니다. 좋은하루 되세요!
0.75배로 들으니 딱 좋네요
그저 빛 ㅠㅠ 감사합니당
ㅎㅎ 과분하신 말씀을 ㅎㅎ
도움 받았습니다! 감사합니다
안녕하세요, 여기서 update 함수에 있던 내용을 coroutine으로 빼서 얻는 이득이 무엇인가요? 둘 다 프레임마다 한번씩 실행하는건 동일하지 않나요?
영상 잘 보고 있습니다. 뜬금없이 죄송한데 3:31초 부분에 함수 설명 툴바가 한글로 되는건 어떻게 해야하는건가요?
비주얼 스튜디오 한글 언어팩을 설치하시면 됩니다.
다만, 프로그래밍 자료는 영어로 된 것이 많기 때문에 영어 버전을 사용하는 것을 추천드립니다.
Invoke 랑 비슷한거 같은데 다른점이 뭔가요?
Invoke는 단순하게 원하는 시간 뒤에 함수를 호출하는 기능입니다.
코루틴은 그것보다 훨씬 복잡한 기능을 수행할 수 있습니다. 다른 객체의 상태를 기다리게 만들 수도 있고 웹 서버와 통신해서 응답이 오기를 기다릴 수도 있습니다.
결정적으로 함수 중간에 얼마든지 동작을 일시적으로 멈추고 원하는 무언가를 기다릴 수 있죠.
코루틴이 제어권을 양보한다는 것이 어떤 의미가 있는 건가요?
보통의 while 문에서 무한 반복 코드를 작성하면 프로그램이 응답없음 상태에 빠지면서 멈춰버립니다. 이 무한 반복 while문이 코드 제어권을 독점하고 있기 때문에 다른 작업을 처리하지 못해서 발생하는 일이죠.
하지만 코루틴 함수 내에서 yield return null을 포함한 무한 반복문을 작성하면 yield return null 코드를 실행할 때마다 코드 제어권을 양보하기 때문에 다른 작업을 할 수 있게 됩니다. 그래서 프로그램이 응답없음 상태에 빠지지 않는 것이죠.
@@wergia 명료하게 이해가 되었습니다. 감사합니다 :)
폰으로 보기엔 글씨가 작아서 안보여요ㅠㅠ
시간 날 때마다 글씨 크기 때문에 보기 힘든 강좌는 리메이크 중입니다.
그나마 최신 강좌는 보시기 편할 거에요.
남은 강좌들도 최대한 빨리 리메이크 하겠습니다.