๋๋ฅด๋ฉด ์์ง์
ํ๋ซํผ + ๋ฒฝํ๊ธฐ ๋ง๋ค์ด๋ดฃ์
๋งจ ์์ ๊ธธ์ญํ ๋ธ๋ก๋ง ๋ฒฝ ํ์
์ผ๋จ ํ์์ ํ๋ซํผ ๊ฒ์ฒ๋ผ ์์ง์ด๋ค๊ฐ
๋ฒฝ์ ๋ฟ์ผ๋ฉด ๋ฒฝ์ ๋ถ์ด์ ์์ง์ด๋๊ฑด๋ฐ
์ฒ์์ ๊ทธ๋ฅ ํ๋ทฐ ์ ํ๊ฒ ๋ง๋ค์ด์ 2dํก์คํฌ๋กค๋ง๋ฅ ๋ณด์ด๊ฒ ๋ปฅ์น๋ฉด ๋์ง ์์๊น ์ถ์๋๋ฐ
ํ๋ซํผ ๊ฒ์์ฒ๋ผ ๋จ์ด์ง๋๊ฑด ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น ์ถ์ด์ ๊ทธ๋ฅ ํ๋ซํผ + ๋ฒฝํ๊ธฐ๋ก ๋ง๋ค์ด๋ดค์
๋ค๋ง ์ฌ์ํ ๋ฌธ์ ๋ผ๋ฉด ๋ฒฝ๊ณผ ํ๋ ์ด์ด๊ฐ ๋ง๋ฌ์๋ ๋ฐ๋ก ์ฐฉ ํ๊ณ ๋ถ์ด๋ฒ๋ฆฌ๋๊ฒ ์๋๋ผ
์ด๋์ ๋ ๋ํํ๊ธฐ ์์ํ ๋ ๋ถ๋๋ก ๋ง๋ค๊ณ ์ถ์ด์ Vector2 ๋ณ์๊ฐ์ ๋ฐ์ velocity๋ณ์
'velocity.y๊ฐ ์ผ์ ๊ฐ๋ณด๋ค ์์๊ฒฝ์ฐ' ๋ฅผ ์กฐ๊ฑด์ผ๋ก ๊ฐ์ด ๋ฃ์ด์คฌ๋๋ฐ
๋ฟ์์๋ ๊ณ์ ์กฐ๊ฑด์ ์ฒดํฌํ๋๊ฒ ์๋๋ผ ์ฒ์ ๋ฟ์์๋ ๋ฑ ํ๋ฒ ์ฒดํฌํ๋๊ฑฐ ๊ฐ๋๋ผ๊ตฌ
๋ง๊ทธ๋๋ ์ฒ์ ๋ค์ด์์๋ Entered
์ผ๋จ ๊ทธ๋ถ๋ถ๋ง ๊ณ ๋ฏผ์
๋ด์ผ์ ์ด๋ ์ด๋ด์ผ๊ฒ๋ค
์ด์๋๊ฑฐ ๋๋ ์ด ๊ฐ์ข๊ฐ์๊ฑฐ ์๋์ง ์ฐพ์๋ณด๋์ค
์ํฐ ์์์ผ๋ก ๋ถ๊ฐ ํ๋ ๋ณํ๊ฒ ํ๊ณ ๊ฐ์๋ ์ฒดํฌ๋ฅผ ๋ถ๊ฐ์ด ํธ๋ฃจ์ผ ๋ ํ๋ ๊ฑด ์ด๋
์ํฐ์์์์ ๊ฐ์๋ ๊ด๋ฆฌํ์ง๋ง๊ณ ๋ฐ๋ก ๋นผ์ ํ๋ผ๋๊ฑฐ์ง?
๋๋ ์ด ํ๋ ค๋ฉด ํ๋ ์ด์ด ์์ Timer ๋ ธ๋ ํ๋ ๋ง๋ค์ด์ "ShootDelayTimer" ์ด๋ฆ์ง์ด์ฃผ๊ณ , ํ๋ ์ด์ด ์คํฌ๋ฆฝํธ์์ if $ShootDelayTimer.is_stopped() ์ผ๋๋ง ์ ์์ผ๊ฒ ํ๊ณ , ํ๋ฒ ์ด์ ๋๋ง๋ค $ShootDelayTimer.set_wait_time(์ด๋งํผ๊ธฐ๋ค๋ ค) ๋ $ShootDelayTimer.start() ํ๋ฉด ํ์ด๋จธ๊ฐ ๋์๊ฐ๋ ๋์์ is_stopped() ๊ฐ false ๋๊น ๊ทธ๋์์ ์ด์ ๋ชป ์จ. _on_ShootDelayTimer_timeout() ์์์ $ShootDelayTimer.stop() ์ ํ๋ฉด '์ด๋งํผ๊ธฐ๋ค๋ ค' ๋งํผ์ ์๊ฐ ์ดํ ์ ์ ์๊ฒ ๋จ. ๋ฌผ๋ก ํ์ด๋จธ ๋ ธ๋๋ ํ๋ ์ด์ด ์์ _on_ShootDelayTimer_timeout() ๋์ ์ฐ๊ฒฐ์์ผ์ค์ผํจ.
!