ํจ์ ์ ๋ฟ์์ ์ฝ๋ฃจํด ํธ์ถ๋์๋ yield return new WaitForSeconds(delayTime); // 5์ด ๋์ velocity == 0(ํ๋ ์ด์ด ๋ชป์์ง์)
์ด๋ ๊ฒ ํด๋จ๋๋ฐย
ํจ์ ์ ๋ฟ๊ณ ๋์ 5์ดํ์ ์ฝ๋ฃจํด์ด ํธ์ถ๋๊ณ 5์ด๋์ ๋ชป์์ง์ด๋ค๊ฐ ์์ง์ผ ์ ์์ต๋๋ค.
์ ๊ฐ ์๊ฐํ๊ฑด ๋ฟ์๋ง์ 5์ด๋์ ๋ชป์์ง์ด๋ ๊ฒ์ ์์ํ๋๋ฐ ๋ญ๊ฐ ์ด์ํ ๋ฐฉ์์ผ๋ก ํธ์ถ ๋๋๊ตฐ์
void Update()
if (isDelay)
{
StartCoroutine(AttackedDelay());
}
IEnumerator AttackedDelay()
{
ย ย ย ย yield return new WaitForSeconds(delayTime);
ย ย ย ย playerRb.velocity = new Vector2(0, 0);
ย ย ย ย isDelay = false;
}
์ด๋ฐ ๋๋์ธ๋ฐ
ํจ์ ์ ๋ฟ์ผ๋ฉด isDelay = true๊ฐ ๋๊ณ
์ ๋ฐ์ดํธ์ ์๋ย StartCoroutine์ด 5์ด ํ์ ํธ์ถ๋๋ฉด์ player์ velocity๊ฐ 5์ด๋์ 0์ด ๋ฉ๋๋ค. ๊ทธ ์๊ฐ์ด ์ง๋๋ฉด ๋ค์ isDelay๊ฐ false๊ฐ ๋๊ณ ์
ํน์ ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น์?
์ ๋ ๋ฟ์๋ง์ ๋ฐ๋ก ์ฝ๋ฃจํด ํจ์๋ฅผ ํธ์ถํ๊ณ ์ถ์ต๋๋คย
waitforseconds๋ delayTime ํ์ ๊ทธ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๋๊ฑฐ๋ผ ์ ์ฝ๋๋๋ก๋ผ๋ฉด 5์ด ํ์ ์๋๊ฐ 0์ด ๋๋๊ฒ ๋ง์
์์๋ฅผ ๋ฐ๊พธ์ yield๋ playerRb๋ - dc App
์ ์ด์ ์ง๋ฌธ์ด ๋ฌด์จ ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ์ ์ฝ๋ฃจํด์ 5์ดํ์ ์คํํ๋ค๋๋ฐ Start ํธ์ถ ์์ฒด๊ฐ ์ฝ๋ฃจํด์ ์ด๋ฏธ ์คํํ ์ํ์ - dc App
isDelay ๊ฐ true ๊ฐ ๋๋ฉด AttackedDelay()๋ฅผ ํธ์ถํ๋๋ฐ ๊ทธ๋ผ ๊ทธ ์ฆ์ isDelay๋ฅผ false๋ก ๋ง๋ค์ด์ผ ๋ค์ ์ ๋ฐ์ดํธ์ StartCoroutine(AttackedDelay())๊ฐ ๋ฐ๋ณตํด์ ์คํ ์ ๋๊ฒ ์ง IEnumerator AttackedDelay() ์ ์ ์ผ ์์ isDelay = false;๋ฅผ ์ฌ๋ ค๋
๊ทผ๋ฐ ์ ๋ ๊ฒ ํ๋ฉด ํจ์ ์ ๋ฟ์๋๋ง๋ค ๋ isdelay๊ฐ true ๊ฐ ๋ ํ ๊ณ ๊ทธ๋ผ ๋๋ค์ startcoruine์ด ์คํ๋ ๊ฑฐ์ update์์ isDelay๋ก ํ๋ณํด์ startcoroutine์ ์คํ์ํค์ง ๋ง๊ณ ์ถฉ๋ ํ๋ณ์ ๊ฑฐ๊ธฐ์ isdelay๊ฐ false์ผ ๊ฒฝ์ฐ startcoroutine์ ์คํํ๊ฒ ์์ ํด์ผ ํ ๋ฏ
Update๋ง๊ณ ์จํธ๋ฆฌ๊ฑฐ์ํฐ ๊ฐ์๋ฐ์ if ๋๋ ์ด ๊ฑฐ์ง์ด๋ฉด ํธ์ถํ๊ณ ์ฝ๋ฃจํด ๋ด๋ถ์ ๋ค์ด๊ฐ์๋ง์ ๋๋ ์ด ํธ๋ฃจ ํด์ฃผ๊ณ ๋์ ์๊ฐ = 0 while(๋์ ์๊ฐ < ๋๋ ์ด์๊ฐ) { ์๋ = 0 ๋์ ์๊ฐ += ๋ธํํ์ yield return null } ๋๋ ์ด false ์ด๋ฐ์์ผ๋ก ํด์ผ์ฌ
playerRb.velocity = new Vector2(0, 0); ์ด๊ฑธ ์ ์ผ์๋ก ์ฌ๋ฆฌ๊ณ ์ฝ๋ฃจํด ์คํํธ๋ ์ ๋ฐ์ดํธ ๋ง๊ณ ๋ค๋ฅธ๊ณณ์์ ํ๋ฒ๋ง ํธ์ถํ๋ฉด ๋ ๊ฑฐ๊ฐ์
๊ฐ์ฅ ๊ฐ๋จํ ๊ตฌํ ๋ฐฉ์์ ํจ์ ์๋ค๊ฐ OnTriggerEnter(Colider col) { if (col.tag == player) Invoke("Stop", 5.0f); } void Stop() { playerRb.velocity = new Vector2(0, 0); }
ํ์ง๋ง ๋ญ๊ฐ ์ถ์ธกํ๊ฑด๋ฐ player ์ด๋์ด update์์ ๊ณ์ ๋์๊ฐ๊ณ ์์ผ๋ฉด ์ ๊น velocity 0 ๋ง๋ค์ด ๋ดค์ ์ด๋๋๋ฅด๊ณ ์์ผ๋ฉด ๊ธ๋ฐฉ ์๋ ๋ค์ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.