IEnumerator A()

{

Debug.Log("start")

yield return new WaitForSeconds(0.3f);

Debug.Log("stop");

}

๋ผ๋Š” ์ฝ”๋ฃจํ‹ด์ด ์žˆ๋‹ค๊ณ  ํ•ด๋ด…์‹œ๋‹ค.


Coroutine cor = A();

StartCoroutine(cor);

5์ดˆํ›„

if(cor != null) StopCoroutine(cor);


๋กœ ์ฝ”๋ฃจํ‹ด์„ ์‹คํ–‰์‹œํ‚ค๋ฉด


์ œ ์˜ˆ์ƒ์—๋Š” ์‹คํ–‰ ํ›„ start๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ , 0.3์ดˆ ํ›„์— stop์ด ์ถœ๋ ฅ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ์š”.

๊ทธ๋ ‡์ง€๊ฐ€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ๋งŒ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด, start๋งŒ ์ถœ๋ ฅ๋˜๊ณ ์š”. stop์€ 5์ดˆ ๋’ค์— ์ถœ๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ StopCoroutine์ด ์žˆ๋Š” ์ด์ƒ, cor์ด ์Šค์Šค๋กœ ์ฝ”๋ฃจํ‹ด ๋‚ด์—์„œ null๋˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด WaitForSeconds๋ฅผ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์˜€๋Š”๋ฐ์š”.

์ด๋Ÿฐ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์ œ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ 0.3์ดˆ ํ›„์— stop์ด ๋˜์•ผํ•˜๋‚˜์š”?