์ด๋ฒ ์๊ฐ์๋ ํ๋ ์ด์ด๊ฐ ์กฐ์ํ ์ฃผ์ธ๊ณต ์บ๋ฆญํฐ๋ฅผ ๋ง๋ค์ด๋ณด์.
์ง๋ ์๊ฐ์ ๋ง๋ค์๋ stage_1์ฌ์ ์ด๊ณ Sprite2D๋ ธ๋๋ฅผ ํ๋ ์์ฑํ์. ๋ ธ๋๋ฅผ ์ ํํ ์ํ์์ F2ํค๋ฅผ ๋๋ฅด๊ฑฐ๋, ๋ ธ๋๋ฅผ ์ฐํด๋ฆญํ๋ฉด ๋ํ๋๋ ๋ฉ๋ด์์ Rename๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ ธ๋์ ์ด๋ฆ์ ์ง์ด์ค ์ ์๋ค. ํ๋ ์ด์ด๊ฐ ์กฐ์ํ ์บ๋ฆญํฐ์ด๋ โPlayerโ๋ผ๋ ์ด๋ฆ์ ์ง์ด์ฃผ์.
๊ทธ ๋ค์, ํ์ผ ์์คํ ์์ ๋ค์ ๊ฒฝ๋ก์ ๊ทธ๋ํฝ ํ์ผ์ Player์ texture์์ฑ์ ํ ๋นํด์ฃผ์. res://graphic/character/main_character/idle_000.png
์ด๋ ๊ฒ ํ๋ ์ด์ด ์บ๋ฆญํฐ์ ๊ทธ๋ํฝ์ ํ์ํ๋ Sprite2D๋ฅผ ๋ง๋ค๊ฒ ๋์๋ค. ๋ค์์ผ๋ก ์ฐ๋ฆฌ๊ฐ ํ ์ผ์ ํ๋ ์ด์ด์ ์กฐ์์ ๋ฐ๋ผ ์ด ์บ๋ฆญํฐ๊ฐ ์์ง์ด๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด์ ์ฐ๋ฆฌ๋ [์คํฌ๋ฆฝํธ]๋ฅผ ์์ฑํด์ผ ํ๋ค.
ย
[์คํฌ๋ฆฝํธ](Script)๋ ๊ฐ๋จํ ๋งํด์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ถํ์ ์ฐ๋ฆฌ๊ฐ ์ง์ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ชจ๋ํฐ, ํค๋ณด๋, ์คํผ์ปค ๋ฑ์ ๋ถํ์ ๊ฐ๊ณ ์๋ค๊ณ ํด์ ๋ ธํธ๋ถ์ด ์ ์ ๋ก ๋ง๋ค์ด์ง์ง๋ ์๋๋ค. ๊ฐ ๋ถํ์ ์ด์ด์ฃผ๊ณ ์๋ํ ๋๋ก ๋์ํ๊ฒ ํ๋ ๋๋ค๋ฅธ ๋ถํ์ ๋ ธํธ๋ถ ๊ณต์ฅ์์ ์ค์ค๋ก ์ ์ํด์ผ ํ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณ ๋์์ง์ด ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ๋ ธ๋๋ฅผ ์ ๊ณตํ๊ธด ํ์ง๋ง, ๊ฒฐ๊ตญ ๊ทธ ๋ ธ๋๋ค์ ์ฐ๊ฒฐํ๊ณ ๊ด๋ฆฌํ๋ ค๋ฉด ์ฐ๋ฆฌ๊ฐ ์ค์ค๋ก ์์คํ ์ ๋ง๋ค์ด์ผ ํ๋ฉฐ ์ด๋ฅผ ์ํ ๊ฒ์ด ๋ฐ๋ก [์คํฌ๋ฆฝํธ]์ด๋ค.
์ฐ๋ฆฌ๋ ์์ผ๋ก ์คํฌ๋ฆฝํธ๋ฅผ ๊ณ์ ๋ง๋ค๊ฒ ๋ ๊ฒ์ด๋ค. ํ์ผ ์์คํ ์์ ๊ทธ [์คํฌ๋ฆฝํธ]๋ค์ ๋ชจ์๋๊ธฐ ์ํ scriptํด๋๋ฅผ ๋ง๋ค์.
ย
scriptํด๋๋ฅผ ์ฐํด๋ฆญํ๊ณ Create New โ Script ๋ฉ๋ด๋ฅผ ํด๋ฆญํ์.
์๋ก์ด ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ์ฐฝ์ด ๋ํ๋๋๋ฐ, Inherits๋ผ๋ ๋ถ๋ถ์ ์ฃผ๋ชฉํ์. Inherits๋ ํ๊ตญ์ด๋ก โ์์ํ๋คโ๋ ์๋ฏธ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ์์ฑํ [์คํฌ๋ฆฝํธ]๊ฐ ๋ฌด์์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ ์ง๋ฅผ ์ง์ ํ๋ ๋ถ๋ถ์ธ๋ฐ, ์ฐ๋ฆฌ๊ฐ ์ง๊ธ ๋ง๋ค [์คํฌ๋ฆฝํธ]๋ Player๋ ธ๋์ ๋ถ์ฐฉํ ๊ฒ์ด๊ณ , Player๋ ธ๋๋ Sprite2D์ด๋ฏ๋ก ์ด ์คํฌ๋ฆฝํธ๋ Sprite2D๋ฅผ ์์ํด์ผ ํ๋ค. Inherits์นธ ๋ฐ๋ก ์ค๋ฅธ์ชฝ์ ๋ฒํผ์ ํด๋ฆญํ์.
๊ทธ๋ฆฌ๊ณ Sprite2D๋ฅผ ๊ฒ์ํด์ ์ ํํด์ค๋ค.
Inherits๊ฐ Sprite2D๋ก ์ง์ ๋ ๊ฒ์ ํ์ธํ๊ณ , [์คํฌ๋ฆฝํธ] ํ์ผ์ ์ด๋ฆ์ player.gd๋ก ์ง์ ํ ๋ค์ Create๋ฒํผ์ ํด๋ฆญํ์.
๊ทธ๋ฌ๋ฉด ํ์ผ ์์คํ ์์ [์คํฌ๋ฆฝํธ] ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด player ์คํฌ๋ฆฝํธ๋ฅผ ๋๋ธํด๋ฆญํ์.
๊ทธ๋ฌ๋ฉด ๋ฉ์ธ ์คํฌ๋ฆฐ์ด ์คํฌ๋ฆฝํธ ์๋ํฐ(์ฒ์ ์๊ฐํ ๋๋ โ์คํฌ๋ฆฝํธ ์คํฌ๋ฆฐโ์ด๋ผ๊ณ ํ์ง๋ง โ์คํฌ๋ฆฝํธ ์๋ํฐโ๋ก ๋ ๋ง์ด ๋ถ๋ฆฐ๋ค.)๋ก ์ ํ๋๋ฉด์ player ์คํฌ๋ฆฝํธ๊ฐ ์ด๋ฆฐ๋ค. ์ด๋ ๊ฒ ์คํฌ๋ฆฝํธํ์ผ์ ์ด๊ณ ์์ ํ ์ ์๋ค.
ย
์คํฌ๋ฆฝํธ ์์ฑ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ ๋์ด์๋ ๋ด์ฉ์ ๊ฐ๋จํ ์ดํด๋ณด์.
์ด ์คํฌ๋ฆฝํธ๊ฐ Sprite2D๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ค(์ฆ Sprite2D๋ฅผ ์์ํ๋ค)๋ ์๋ฏธ์ด๋ค. ์๊น ์ฐ๋ฆฌ๊ฐ ์คํฌ๋ฆฝํธ ์์ฑ์ฐฝ์์ Inherits๋ฅผ Sprite2D๋ก ์ง์ ํ ๊ฒ์ด ๋ฐ์๋ ๊ฒ์ด๋ค. ๋ง์ผ ์ด ์คํฌ๋ฆฝํธ๊ฐ Sprite2D๊ฐ ์๋ ๋ค๋ฅธ ๋ ธ๋๋ฅผ ์์ํ๊ฒ ์์ ํ๊ณ ์ถ๋ค๋ฉด ์ด ๋ถ๋ถ์์ โSprite2Dโ๋ฅผ ์ง์ฐ๊ณ ์ํ๋ ๊ฒ์ ์ ๋ ฅํ๋ฉด ๋๋ค.
#๊ธฐํธ์ ํจ๊ป ๊ทธ ๋ค์ ์ด์ด์ ์์ฑํ ๋ด์ฉ์ [์ฃผ์]์ด๋ค. [์ฃผ์]์ ์คํฌ๋ฆฝํธ๊ฐ ๋์ํ ๋ ์๋ฌด๋ฐ ์ํฅ์ ๋ผ์น์ง ์์ผ๋ฉฐ ์๋ ๋ด์ฉ๊ณผ ๊ฐ๋ค. [์ฃผ์]์ ์ญํ ์ ๊ทธ๋ฅ ๋ฉ๋ชจ์ด๋ค. ์ด ์คํฌ๋ฆฝํธ์ ๋ํ์ฌ ์ฃผ์ํ ์ฌํญ๋ค์ด๋ ์ฝ๋์ ๋ํ ์ค๋ช ์ ๊ธฐ๋กํ ๋ ์ฌ์ฉํ๋ค.
func์ [๋ฉ์๋](โํจ์โ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.)๋ฅผ ๋ง๋ค ๋ ์์ฑํ๋ ํค์๋์ด๋ค. [๋ฉ์๋]๋ ์ด ์คํฌ๋ฆฝํธ์ ์ด๋ค ๋์์ ๋ช ์ํ ๊ฒ์ด๋ค. ์ ์คํฌ๋ฆฐ์ท์์๋ _ready๋ผ๋ ์ด๋ฆ์ [๋ฉ์๋]๋ฅผ ์ ์ํ๊ณ ์๋๋ฐ, ๊ทธ ๋ด์ฉ์ ์์ง ์์ฑ๋์ง ์์๋ค. ๊ณ ๋์์ ๋ด์ฉ์ด ์๋ [๋ฉ์๋]๋ ๋ด์ฉ์ด ์์ด์ผ ํ ์๋ฆฌ์ passํค์๋๋ฅผ ๋ฃ์ด์ผ ์ค๋ฅ๊ฐ ๋์ง ์๋๋ค.
_ready๋ฉ์๋ ๋ฐ๋ก ๋ค์ ๋ถ๋ถ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ฒ์๋ _process๋ผ๋ ๋น์ด ์๋ ๋ฉ์๋๊ฐ ์ ์๋์ด ์๋ค.
ย
_ready๋ฉ์๋๋ ์ด ์คํฌ๋ฆฝํธ๊ฐ ๋ถ์ฐฉ๋ ๋ ธ๋๊ฐ ๊ฒ์ ์คํ ์ค ์์ฑ๋์์ ๋ ๋ฑ ํ ๋ฒ ์๋ํ๊ณ , _process๋ฉ์๋๋ ๊ฒ์ ์คํ ์ค ๋งค ํ๋ ์๋ง๋ค ํ ๋ฒ์ฉ ๋ฐ๋ณต์ ์ผ๋ก ์๋ํ๋ ๋ฉ์๋์ด๋ค. ์ง๊ธ๋ถํฐ _process๋ฉ์๋์ ๋ด์ฉ์ ์์ฑํด์ ์บ๋ฆญํฐ๋ฅผ ์์ง์ด๊ฒ ํด๋ณด์.
_process๋ฉ์๋์ ๋ด์ฉ ์ค pass๋ฅผ ์ง์ฐ๊ณ ๊ทธ ์๋ฆฌ์ ์คํฌ๋ฆฐ์ท๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ์. ์ด๋ position ์์ ๋น ๊ณต๊ฐ์ [Tab]ํค๋ฅผ ๋๋ฌ์ ์ ๋ ฅํด์ผ ํ๋ค. ์ด๋ฅผ [๋ค์ฌ์ฐ๊ธฐ]๋ผ๊ณ ํ๋๋ฐ, ๊ณ ๋์์ง์์๋ ์ด๋ค ์ฝ๋๊ฐ ์ด๋ ๋ถ๋ถ์ ํฌํจ๋์ด ์๋ ์ง๋ฅผ ์ด [๋ค์ฌ์ฐ๊ธฐ]๋ฅผ ํตํ์ฌ ๊ตฌ๋ถํ๋ค. ์คํฌ๋ฆฐ์ท์ ์ํฉ์ ์๋ก ๋ค์๋ฉด, func ํค์๋๋ก ๋ฉ์๋๋ฅผ ์ ์ธํ ๋ค์ ์ค๋ถํฐ [๋ค์ฌ์ฐ๊ธฐ]๋ฅผ ํ๋ฉด ๊ทธ ๋ด์ฉ์ ํด๋น ๋ฉ์๋์ ํฌํจ๋๋ ๋ด์ฉ์ด๋ผ๋ ๊ฒ์ด๋ค.
ย
์ฝ๋๋ฅผ ์์ฑํ์ผ๋ฉด Ctrl+S๋ฅผ ์ ๋ ฅํ์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ์.
๊ทธ๋ฐ ๋ค์ ํ์ผ ์์คํ ์ player์คํฌ๋ฆฝํธ๋ฅผ ์ฌ ๋ ์ Player๋ ธ๋๋ก ๋๋๊ทธํ์.
Player๋ ธ๋ ์ค๋ฅธ์ชฝ์ ์คํฌ๋ฆฝํธ ๋ฒํผ์ด ๋ํ๋๋ฉด ์ ๋๋ก ๋ ๊ฒ์ด๋ค.
์ค์๋ก ๋ค๋ฅธ ๋ ธ๋์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ถ์ฐฉํ๋ค๋ฉด, ํด๋น ๋ ธ๋๋ฅผ ์ ํํ๊ณ ์ฌ ๋ ์ค๋ฅธ์ชฝ ์์ ์๋ ์คํฌ๋ฆฝํธ ๋ผ๊ธฐ ๋ฒํผ์ ํด๋ฆญํ๊ฑฐ๋ ๋ ธ๋๋ฅผ ์ฐํด๋ฆญํ๋ฉด ๋ํ๋๋ ๋ฉ๋ด์์ Detach Script๋ฅผ ์ ํํ๋ฉด ๋ ธ๋๋ก๋ถํฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๊ฑฐํ ์ ์๋ค.
์คํฌ๋ฆฝํธ๋ฅผ ์ ๋๋ก ๋ถ์ฐฉํ๋ค๋ฉด ๋ฉ์ธ ์คํฌ๋ฆฐ์ 2D ์คํฌ๋ฆฐ์ผ๋ก ์ ํํ๊ณ Player๋ ธ๋๋ฅผ ๋ณด๊ธฐ ์ข์ ์์น์ ์ฎ๊ฒจ ๋์.
์ด์ ์คํฌ๋ฆฝํธ๊ฐ ์ ๋๋ก ๋์ํ๋์ง ํ์ธํ๊ธฐ ์ํ์ฌ ๊ฒ์์ ์คํ์์ผ๋ณด์. F6ํค๋ฅผ ๋๋ฅด๊ฑฐ๋ ๋๋ ์๋ํฐ ์ค๋ฅธ์ชฝ ์์ [ํ์ฌ ์ฌ ์คํ] ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ฐ๋ฆฌ๊ฐ ๋ง๋ ๊ฒ์์ ์คํ์ํฌ ์ ์๋ค.
์บ๋ฆญํฐ๊ฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฒ์ฒํ ์์ง์ด๋ฉด ์ฑ๊ณต์ด๋ค.
ย
๊ฒ์ ์ฐฝ์ ๋ซ๊ณ ๋ค์ ์คํฌ๋ฆฝํธ ์๋ํฐ๋ก ์ ํํด์ player์คํฌ๋ฆฝํธ๋ฅผ ์์ ํ์. ์ด๋ฒ์๋ ๋จ์ํ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๋ ๊ฒ ๋ง์ด ์๋๋ผ ํ๋ ์ด์ด์ ์กฐ์์ ๋ฐ๋ผ ์ข์ฐ๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ณด์.
์คํฌ๋ฆฐ์ท๊ณผ ๊ฐ์ด _process๋ฉ์๋์ ๋ด์ฉ์ ์์ ํ๋ฉด ๋๋ค. ์คํฌ๋ฆฐ์ท์ ๋ํ๋ ์๋ ์ฝ๋ ์ค ์ฃผ์์ ์ ๋ ฅํ์ง ์์๋ ๋๋ค. (๊ฐ ์ฝ๋์ ์๋ฏธ๊ฐ ๊ถ๊ธํ๋ค๋ฉด ์ฃผ์์ ์ฝ์ด๋ณด์.)
ย
Ctrl+S๋ฅผ ๋๋ฌ ์ ์ฅํ๊ณ , ๋ค์ ํ๋ฒ F6๋ [ํ์ฌ ์ฌ ์คํ]๋ฒํผ์ ํด๋ฆญํ์ฌ ๊ฒ์์ ์คํํ ๋ค, ์ข์ฐ ๋ฐฉํฅํค๋ฅผ ๋๋ฌ๋ณด์. ์กฐ์์ ๋ฐ๋ผ ์ค๋ฅธ์ชฝ ์ผ์ชฝ์ผ๋ก ์์ง์ด๋ ์บ๋ฆญํฐ๋ฅผ ๋ณผ ์ ์์ ๊ฒ์ด๋ค.
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ด์ํ๊ฑฐ ์์ค๋ฉด ํผ๋๋ฐฑ์
์์ ์ ๋ฌธ์ ๋์์ผ๋ก ์ฐ๋๊ฑฐ๋ผ ์ฌ์ค ์ฌ๊ธฐ์ฌ๋๋ค์ ์ฝ์ ํ์ ์ ๊ธดํจww
์ ๋ณด์ถ(๊ณ ๋ ์์)
๊ณ ๋ ๋ฐฐ์ฐ๊ณ ์๋๋ฐ ์ข์ ์ ๋ณด ๊ณ ๋ง์ต๋๋ค