์ฝ”๋ฃจํ‹ด์„ ์ด์šฉํ•ด์„œ ๋ชฌ์Šคํ„ฐ ์†Œํ™˜ ์ฃผ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๊ณ  ์‹ถ์€๋ฐ,



์ด ๋•Œ, ์†Œํ™˜ ์ฃผ๊ธฐ๋ฅผ ์œ ๋‹ˆํ‹ฐ์—์„œ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋ ค๊ณ  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์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฉด ๋œ๋‹ค๋Š”๊ฑฐ ๊นŒ์ง€๋Š” ๊นจ๋‹ฌ์•˜๋Š”๋ฐ



๊ทธ๋ž˜๋„ ๊ถ๊ธˆํ•˜๋‹ค ์™œ ์›๋ž˜ ํ–ˆ๋˜ ๋ฐฉ๋ฒ•์€ ์•ˆ๋˜๋Š”๊ฑธ๊นŒ?