์ฝ๋ฃจํดA๋ย ์ฃผ๋ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ
์ฝ๋ฃจํดB(float d)๋ float d๋งํผ WaitForSeconds๋ฅผ ํ๋ค๊ณ ํ ๋
์ฝ๋ฃจํดA
{
~~~~~~
~(์ฒ๋ฆฌ1)~
~~~~~~
์ฝ๋ฃจํดB(5.0f)
~~~~~~
~(์ฒ๋ฆฌ2)~
~~~~~~
}
์ด๋ฐ์์ผ๋ก ์ฝ๋ฃจํดA์ฌ์ด์ ์ฝ๋ฃจํดB๋ฅผ ๋ฃ์ด์ 5์ด๊ฐ ๋๊ธฐ๋ฅผ ํ๊ณ ์ถ์..
๊ทผ๋ฐ ์ ๋ฐ์์ผ๋ก ์ง๋ฉด ์ฒ๋ฆฌ1์ด๋ ์ฒ๋ฆฌ2๋ ํํ๋ ์์ ๋๊ณ ์ฝ๋ฃจํดB๋ ํผ์ ๋๊ธฐํ๋คใ ใ
๋๊ธฐ์ฉ ์ฝ๋ฃจํด์ ๋ฐ๋ก ๋ง๋ค์ด๋๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์์๊น??
invoke๋ก 5์ด๋ค์ ์คํํ๋ฉด ์๋จ?
๊ทธ๋ฅ ์ฝ๋ฃจํด b ์๋ฆฌ์ yield return new waitforseconds(5); ๋ฃ์ผ๋ฉด ๋ ๊ฑฐ๋ค...
์ฝ๋ฃจํด์ ์๋ ๊ทธ๋ ๊ฒ ์๋ํ๋ผ๊ณ ๋ง๋ ๊ฑฐ๊ณ ์๋์ฒ๋ผ ์ฝ๋ฃจํด a๊ฐ 5์ด๋๊ธฐ ํ๋๊ฒ ๋ง๋ค๋ด. ์ฝ๋ฃจํด b๋ก ๋ฐ๋์ ์คํํ ๊ธฐ๋ฅ์ด์๋ค๋ฉด ๋ธ๋ฆฌ๊ฒ์ดํธ(์ ๋ํฐ์ด๋ฒคํธ) ์ฐ์
์๋ ์ฝ๋ฃจใ ํดb ๋ฐ๋ก ๋ฐ์ ์ฝ๋ฃจํดa์ yield wait 5์ด ์ํค๋๊ฐ
IEnumerator asdf () { Debug.Log("์์"); StartCoroutine(waitwait(5)); while (!done) { yield return null; } Debug.Log("์ข ๋ฃ"); } IEnumerator waitwait (int time) { done = false; yield return new WaitForSeconds(time); done = true; }
์๋๋ฉด ์ด๋ ๊ฒ ํ๋์ง.. ๋ฐฉ๋ฒ์ ๋ง๋ค
yield return startcoroutine
๋จ์ํ waitforsec๋ง ํ ๊ฑฐ๋ฉด ์ ๋๊ธ๋๋ก ์ฐ๋๊ฒ ๋ง์.
์ใ ใ ใ ๋ด ๋ณ์ ์ฝ๋ ์ด์ฉ.. ํ๋ ๋ฐฐ์ฐ๊ณ ๊ฐ๋ค
๋ด๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค ใ .. ์ ์์๋ ์ข ๋จ์ํ๊ฒ ๋ํ๋ธ๊ฑฐ๊ณ ์ค์ ๋ก ์ฌ๊ธฐ์ ๊ธฐ ๊ผฌ์ฌ์์ด์ ์ ๋ถ WaitForSec๋ฃ๊ธฐ ๊ทธ๋์ ๋ฌผ์ด๋ณธ๊ฑฐ์์ใ ใ ๋ต๋ณ๋ค ๊ณ ๋ง์!
yield return startcorutine ๋์!