์ฝ๋ฃจํด์ ์ด์ฉํด์ ๋ชฌ์คํฐ ์ํ ์ฃผ๊ธฐ๋ฅผ ์กฐ์ ํ๊ณ ์ถ์๋ฐ,
์ด ๋, ์ํ ์ฃผ๊ธฐ๋ฅผ ์ ๋ํฐ์์ ์ง์ ๊ด๋ฆฌํ๋ ค๊ณ public์ผ๋ก ์ ์ธํ๋ ค๊ณ ํ๊ฑฐ๋ ?
ย ย public float spawnSpeed;
ย ย void Awake()
ย ย {
ย ย ย ย new WaitForSecondsRealtime(spawnSpeed);
ย ย }
ย ย void Start()
ย ย {
ย ย ย ย StartCoroutine("Spawn");
ย ย }
ย ย IEnumerator Spawn()
ย ย {
ย ย ย ย yield return spawnSpeed;
ย ย ย ย GameObject enemy = GameManager.instance.pool.Get(1);
ย ย ย ย enemy.transform.position = this.transform.position;
ย ย ย ย StartCoroutine("Spawn");
ย ย }
๊ทธ๋์ ์ด๋ ๊ฒ ์ฝ๋ฉ์ ํ๋๋ฐ, ๋ชฌ์คํฐ๊ฐ ๊ทธ๋ฅ 1ํ๋ ์๋ง๋ค ์ํ๋ผ๋ฒ๋ฆฌ๋๊ฑฐ์ผ
๋ถ๋ช ์ ๋ํฐ์์ spawnSpeed๋ ์ ๋๋ก ์ค์ ํ์ด
1์ ๋ฃ๋ 1000์ ๋ฃ๋ ๋ฌด์ํ๊ณ ํ๋ ์๋ง๋ค ์ํํ๋๋ผ๊ณ
๊ทธ๋์ ๊ทธ๋ฅ
void Start()
ย ย {
ย ย ย ย StartCoroutine("Spawn");
ย ย }
ย ย IEnumerator Spawn()
ย ย {
ย ย ย ย yield return new WaitForSeconds(1f);
ย ย ย ย GameObject enemy = GameManager.instance.pool.Get(1);
ย ย ย ย enemy.transform.position = this.transform.position;
ย ย ย ย StartCoroutine("Spawn");
ย ย }
์ด๋ ๊ฒ ํ๋์ฝ๋ฉ์ผ๋ก ์ง๋๊น ๋ ์ ์๋ํ๋๋ผ๊ณ
์ด ๊ธ ์ฐ๋ค๊ฐ ๊ทธ๋ฅ WaitForSecneds ์์ ์ซ์๋ง public์ผ๋ก ๊ด๋ฆฌํ๋ฉด ๋๋ค๋๊ฑฐ ๊น์ง๋ ๊นจ๋ฌ์๋๋ฐ
๊ทธ๋๋ ๊ถ๊ธํ๋ค ์ ์๋ ํ๋ ๋ฐฉ๋ฒ์ ์๋๋๊ฑธ๊น?
new WaitForSecondsRealtime(spawnSpeed); yield return spawnSpeed; ์ด๊ฒ ๋ง์? ๋ค์ ์๊ฐํด๋ด๋ผ...
์
๊ทธ๋ฆฌ๊ณ while(true) { ..... yield return WFS; } ๋ ๋๋ค
while๋ฌธ์ผ๋ก ๋๋ฆฌ๋๊ฒ ์ง๊ด์ ์ด์ง ์์? ์ ๋ฐ๋ณตํด์ ๋๋ ค - dc App