その先にあるもの…

Unity3D yield 본문

프로그래밍/C#

Unity3D yield

specialJ 2013. 5. 30. 13:07


인터넷 예제로 

yield WaitForSeconds(0.025);

구문이 나오는데 C#으로 어떻게 바꿔야 하는지 순간 당황

검색으로 찾아낸 구문

yield return new WaitForSeconds(0.025f);


그럼 yield는 무엇이지?



일반 함수처럼 return되면 스택이 정리되지 않고

yield return을 하게 되면 다음 구문의 스택의 포인터를 기억하고 있다가

지정된 명령에 따라 호출되었을 때 기억된 포인터부터 시작한다고 생각하면 될 듯 하다.


yield return null    :     다음 프레임까지 대기

yield return WaitForSeconds(float)    :     지정된 초 만큰 대기

yield return new WaitForFixedUpdate()    :     다음 물리 프레임까지 대기

yield return new WaitForEndOfFrame()    :    모든 렌더링작업이 끝날 때까지 대기

yield return StartCoRoutine(string)    :    다른 코루틴이 끝날 때까지 대기

yield return new WWW(string)    :    웹 통신 작업이 끝날 때까지 대기

yield return new AsyncOperation    :    비동기 작업이 끝날 때까지 대기 ( 씬로딩 )

yield break    :   coroutine을 멈춘다.


자세한 내용은 아래 사이트 참조

http://www.unitystudy.net/bbs/board.php?bo_table=writings&wr_id=43

http://msdn.microsoft.com/ko-kr/library/9k7k7cf0.aspx


'프로그래밍 > C#' 카테고리의 다른 글

CreateInstance, InvokeMember  (0) 2014.04.21
unsafe  (0) 2014.03.28
C#> struct -> string  (0) 2013.10.31
C# delegate  (0) 2013.09.10
C# const / readonly  (0) 2013.09.02
Comments