3์ด๋ง๋ค ์ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๋ ์ฝ๋ฃจํด์ ์งฐ์ต๋๋ค
์์ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ์ด ์์ง์ด๊ธฐ ์์ํ๊ณ ์ค์ง ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ์ด ๋ฉ์ถฅ๋๋ค
์ค์ง ๋ฒํผ์ ๋๋ ์ ๋ ์ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๋ ๊ฒ๋ ๋ฉ์ถ๊ฒ ๋ง๋ค๊ณ ์ถ์๋ฐ ์ด๋ค ์์ผ๋ก ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค์
์ ์ค๋ธ์ ํธ ์์ฑ ํ 1์ด ์ง๋ฌ์ ๋ ์ค์ง ๋ฒํผ ๋๋ฆ
์์ ๋ฒํผ ๋๋ฅธ ๋ค 2์ด ํ์ ์ ์ค๋ธ์ ํธ ์์ฑ
์ด๋ฐ ์์ผ๋ก ๋ง๋ค๊ณ ์ถ์ต๋๋ค
yield return new WaitForSeconds(3) ์ด๊ฑฐ๋ฅผ ์ค๊ฐ์ ๋ฉ์ถ๋ ๋ฐฉ๋ฒ์ด ์๋ ๊ฑฐ ๊ฐ์ต๋๋ค
๊ทธ๋ฅ update๋ฌธ์ ํ๋ ์๋ง๋ค ์๊ฐ ์ฆ๊ฐ์ํค๋ฉด์ ์ค์ง ์ํ์์ ์๊ฐ ์ฆ๊ฐ ๋ฉ์ถ๋ ์์ผ๋ก ์ง๋ ๊ฒ ์ ์ผ ๋์๊น์?
๊ฑ ๊ฐ๋จํ๊ฒ ๋ถ๋ฆฌ์ธ ํ๋ ๋ง๋ค์ด์, ์ค์ง์ค์๋ ์ ์์ฑ ์ํ๋๋ก ํ๋ฉด ์๋จ?
yield return new WaitForSeconds(3) if (!isStopped) // ์ ๋ง๋ค๊ธฐ
๊ทธ๋ ๊ฒ ๋๋ฉด ์ ๊ฐ ๋ณธ๋ฌธ์ ์ด ๊ฒ์ฒ๋ผ ์ ์์ฑ ํ 1์ด ๋ค์ ์ค์ง ๋ฒํผ ๋๋ฆ n์ด ์ง๋จ ์์ ๋ฒํผ ๋๋ฅด๊ณ 2์ด ๋ค์ ์ ์์ฑ ์ด๋ ๊ฒ ์ ๋๊ณ ๊ทธ๋ฅ 3์ด ๋ค์ ์ ์ด ์์ฑ๋ ๊ฑฐ ๊ฐ์์ ๊ณ ๋ฏผ์ ๋๋ค
StartCoroutineํ ๋ ๋ฐํ๋๋ ์ฝ๋ฃจํด ์ธ์คํด์ค ๋ฐ์๋จ๋ค๊ฐ ์ ์งํ ๋ StopCoroutine์ ๋ฃ์ผ์ธ์
3์ด ๊ฐ๊ฒฉ์ ์ ์ง์ํค๊ณ ์ถ์ผ์ ๊ฑฐ๋ฉด WaitForSec๋ก๋ ์๋ ๊ฑฐ๊ฐ๊ณ yield return null;์ด๋ ์ ๋ฐ์ดํธ์์ Time.deltaTime ์จ์ผํ ๋ฏ์
๊ทธ๋ฅ update()์์ ์ฒ๋ฆฌํด ์ฝ๋ฃจํด๋ ์ด์ฐจํผ ๋ด๋ถ์ ์ผ๋ก ์๊ฐ์ฒดํฌํด์ผ ํ๊ธฐ๋๋ฌธ์ ์ฑ๋ฅ์ฐจ์ด ๋ณ๋ฐ ์๋ค.