๊ณต๋ถํ์ง ์ผ๋ง ์ ๋ ๋ด๋น์ธ๋ฐ์..
๊ณต๊ฒฉ์๋๋ฅผ ๊ตฌํํ๊ธฐ ์ํดย
fireDelay ๋ผ๋ ๋ณ์์ Time.deltaTime; ์ ๋ํ๋๋ฐ
์ผ๋จ ์ด๊ฑฐ๋ถํฐ ์ ํ๋๊ฑด์ง ์ดํด๊ฐ ์ ๊ฐ์ง ์์ต๋๋ค..
(์ ๊ฐ ์ฐพ์๋ณด๋ฉฐ ์ดํดํ๊ธฐ๋ก๋ deltaTime์ ํ๋ ์ ์ฌ์ด์ ์๊ฐ์ด๊ณ ย
Attack()ํจ์๊ฐ void Update๋ค์ด๊ฐ๋๊น 1์ด๊ฐ ์ง๋๋ฉด fireDelay๋ผ๋ ๊ฐ์ 1f๊ฐ ๋๋๊ฑด๊ฐ์..?)
equipWeapon.rate์ ์ง์ ๋ ๊ฐ์ด 0.3f์ผ๋ย
์๊ฐ์ด ํ๋ฌ fireDelay๋ผ๋ ๊ฐ์ด 0.3f ์ด์์ด ๋ ๋ (0.3์ด ์ง๋ฌ์๋?)
isFireReady ๊ฐ์ด true๋ก ๋๋ ์ฝ๋์ธ ๊ฑฐ ๊ฐ์๋ฐ
fireDelay += Time.dealtaTime ์ด๋ผ๋ ๊ตฌ๋ฌธ์ ์๊ฐ์ ๋ค๋ฃฐ๋ ๊ทธ๋ฅ ์ธ์์ผ๋๋๊ฑด๊ฐ์??
์ ์๋ค ๊ทผ๋ฐ ์ธ์ด๋ค๊ธฐ๋ณด๋จ ์์ ๊ฐ์๊ฑฐ์ง ๋ธํํ์์ด ๋ญ์ง ์๋ฉด ์๊ฐ์ ์ด๋ป๊ฒ ์ด ์ง ์ถฉ๋ถํ ์๊ฐํด๋ผ์ ์์์
๊ทธ๋ฅ ๋ชจ๋ ์๊ฐ์ ์ํฅ์ ๋ฐ๋ ๊ฐ์ ๋ธํ ํ์์ ๊ณฑํด์ค๋ค๊ณ ๋ด๋ ๊ด์ฐฎ์. ์ ๊ฑฐ๋ ์ด์ฐ๋ณด๋ฉด 1*Time.deltaTime ๋ํด์ฃผ๋๊ฑฐ๊ณ
์ ํจ์ ์ด๋ป๊ฒ ์ฐ์ด๋์ง ๊ถ๊ธํ๋ค. ์ฟจํ์ ๋ฃ์๊ฑฐ๋ฉด fireDelay๋ฅผ = 1๋ก ํ๊ณ ์ ๋ฐ์ดํธ์์ fireDelay -= Time.deltaTimeํ๋๊ฒ ํฉ๋ฆฌ์ ์ด์ง ์์๊ฐ...? ์ ๋ ๊ฒ ํ๋ฉด ๊ณต๊ฒฉํ๊ณ ์์ ๋ ํ๋ ์์จ์ ๋ณํ ์๊ธฐ๋ฉด ์ฟจํ์์ด ๋ฌ๋ผ์ง๊ฑฐ๊ฐ์๋ฐ
๋๊ธ์ด 4๊ฐ๋ ์๋๋ฐ ์ ๋๋ก ๋ ๋ต๋ณ์ด ์๋ค Attack์ด๋ผ๋ ํจ์ ์์ฒด๊ฐ Update์์ ์๋ํ๋ ๊ฒ ๊ฐ์๋ฐ deltaTime์ ๋งํ๋๋ก ์ ํ๋ ์๊ณผ ํ ํ๋ ์ ์ฌ์ด์ ์๊ฐ ๊ฐ๊ฒฉ์ด๊ณ (์ผ์ ํ์ง ์์), ์ ๋ฒ์ Update๊ฐ ์คํ๋์ ๋์ ์ด๋ฒ์ Update๊ฐ ์คํ๋์ ๋์ ์๊ฐ ๊ฐ๊ฒฉ์ด๋ผ๊ณ ๋ณผ ์๋ ์์. ์๊ฐ์ด deltaTime๋งํผ ์ง๋ฌ์ผ๋๊น ๊ทธ๋งํผ ๋ํด์ค
๊ฑฐ๊ณ , ์ด๋ ๊ฒ ๊น๋ํ๊ฒ ์๊ฐ ๋์ค์ง ์๊ฒ ์ง๋ง ๊ฒฐ๊ตญ fireDelay๊ฐ 0.5์ผ ๋ ์๊ฐ์ด 0.5์ด๋งํผ ์ง๋ฌ๋ค๋ ๋ป
ในใ ๋ต๋ณ ์์ด๋
์ธ์ธ ํ์ ์์ ๊ทธ๋ฅ ํ๋์ ๋ฐฉ๋ฒ์ผ ๋ฟ์..
๊ทผ๋ฐ ๋ญ ๊ทธ๋ ๋ค๊ณ ํด์ ์ ๋ฐฉ์์ด ๋์๊ฒ๋ ์๋๋ผ์ ์ฐ๋ค๋ณด๋ฉด ๋์ถฉ ์ ๋ ๊ฒ ์์์ ์ ์ฐฉ๋จ.. ์ ๊ฐ๋ฝ ์ฐ๋ ๋ฐฉ๋ฒ ์ ์๋ ค์ค๋ ๋์ถฉ ์ฌ๋๋ค ๋น์ทํ๊ฒ ์ ์ฐฉ๋๋ ๊ฒ์ฒ๋ผ
๋๋ ์ฒจ์ ๋ธํํ์์ผ๋ก ๊ณต์ ๊ตฌํ๋ ค๊ณ ํ๋๋ฐ ์ ๊ฑฐ ๋ง๊ณ if (Time.time > attackTime) { if (Input.GetKeyDown(KeySetting.keys[KeyAction.SKILL3])) { attackTime = Time.time + attackTimeLeft; } }
์ด๋ฐ์์ผ๋ก attackTimeLeft ๊ฐ 3f ๋ฉด 3์ด๋ง๋ค ๊ณต๊ฒฉ์ด ๋๊ฐ๊ฒ๋ ๋๋ ์ด์ฃผ๋์์ผ๋ก ์ง๊ฒ๋๋๋ผ๊ณ
์ข ๋ค๋ฅธ ์๊ธฐ์ธ๋ฐ ์ด๋ ๊ฒํ๋ฉด ํ๋ ์ ์ํํ ๋๋ ์๊ด ์๊ฒ ์ง๋ง ์ด๋น 30๋ฐ ๋๊ฐ๋๊ฑฐ ๋ชฉํ๋กํ๋๋ฐ 20ํ๋ ์ ๋์ค๋ฉด 20๋ฐ๋ฐ์ ์๋๊ฐ๋ฏ.