์์ ์ฝ๋)
ย void Start()
ย ย {
ย ย ย ย StartCoroutine(A());
ย ย }
ย ย IEnumerator A()
ย ย {
ย ย ย ย for (int i = 0; i < 100; i++)
ย ย ย ย {
ย ย ย ย ย ย Debug.Log("a");
ย ย ย ย ย ย yield return new WaitForSeconds(2f);
ย ย ย ย }
ย ย }
ย ย // Update is called once per frame
ย ย void Update()
ย ย {
ย ย ย ย Debug.Log("b");
ย ย }
์๊น ์ง๋ฌธํ์๋๋ฐ ๋ด์ฉ์ด ๋ถ์คํ ๊ฒ ๊ฐ์ ๋ค์ ์ง๋ฌธ๋๋ฆฝ๋๋ค....
์์ ์ฝ๋์ฒ๋ผ ์คํฌ๋ฆฝํธ๋ฅผ ์ง๊ฒ ๋๋ฉด
์ถ๋ ฅ:
a
b ์ฌ๋ฌ๋ฒ (2์ด ๋์)
a
b ์ฌ๋ฌ๋ฒ
์ด๋ ๊ฒ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.
1. Start()์์ ์ฝ๋ฃจํด A() ์คํ
2. ์ฝ๋ฃจํด A()์์ a์ถ๋ ฅ, yield 2์ด ๋๊ธฐ
3. Update() ํจ์ ๊ณ์ ์คํ
4. ์ฝ๋ฃจํด A()์์ a์ถ๋ ฅ
์ด๋ 3->4๋ก ๊ฐ ๋ ์ฝ๋ฃจํด A()๊ฐ ์คํ๋๋ ์ด์ ๊ฐ
2๋ฒ์์ ์คํํ๋ yield 2์ด ๋๊ธฐ๊ฐ ๋๋์ ์คํ๋๋ ๊ฒ์ด ๋ง๋์?
๋ง์
https://docs.unity3d.com/kr/2021.3/Manual/ExecutionOrder.html
์... WaitForSeconds๊ฐ ์๊ฐ์ด ๋๋๋ฉด ๊ฐ์ ๋ก ์ฝ๋ฃจํด ์คํํ๋์ค ์์์ ์ข ์ด์ํ๋คํ๋๋ฐ '์ง์ ํ ์๊ฐ์ด ์ง๋ ํ, ๋ชจ๋ Update ํจ์๊ฐ ํ๋ ์์ ํธ์ถ๋ ํ ๊ณ์๋ฉ๋๋ค'๋ผ๊ณ ๋์๋ค์ฌ ๋ด์ ์ง๋ฌธํ๊ธฐ์ ์ ๋์ฐพ์๋ณด๊ฒ ์ต๋๋ค...