์ฐ์ ์ผ๋ฆญํฐ๊ฐ ํ๋ค๋ฆฌ๋ฉด์ ์ด๋ํ๋๊ฑด ๋๋ถ์ ์ ํด๊ฒฐํ์.. ๊ทธ๋๋ ๋ด๊ฐ ์ง ๊ฒ๋ค์ ๊ทธ๋๋ง ๋ณด๊ณ ์ด๋์ ๋ ๋ถ์ํ๊ณ ๊ณ ์ณ๋ณด๊ณ ์์งํด๋ณผ์ ์๊ฒ ๋๋ฐ..
์ด ์กฐ์ด์คํฑ ์ฝ๋๋ ๋ด๊ฐ ์ง ๊ฒ๋ ์๋๋ผ ์ค๋ ฅ๋ ๋ถ์กฑํ๊ณ ํด์ ๋จ์ด ์ง ๊ฑฐ ๋ถ์ํ ์ค๋ ฅ๋ ์๋๋ผ.. ๋์ ํ ๋ต์ด ์๋์จ๋ค ใ ใ
์ ๋ ๊ฒ ๋๋ฆฌ๊ฒ ์ ์ ๋ก ์ด๋๋๋ฉด ๊ทธ๋๋ง ๋คํ์ธ๋ฐ ์๋ ๋ฐฉํฅ ๋ค ๋๋ค์ด๋ผ ์๋ ๋น ๋ฅด๊ฒ ์ ์ ๋ก ์์ง์ผ๋๋ ์๋๋ฐ
๊ทธ๋๋ ์๋ฅผ๋ค์ด ๋ค๋ก ๋น ๋ฅด๊ฒ ์ ์ ๋ก๊ฐ์ง๋ค, ๊ทธ๋ฌ๋ฉด ์์ผ๋ก๋ ์๊ฐ์ ธ ์๋๊ฐ ๋ค๋ก๊ฐ์ง๊ฑฐ๋ ๊ฒน์ณ์ ์ง์ง ๊ฐ๋ ธ๋ต์ ใ ใ
์๋ ์กฐ์ด์คํฑ ์ถ์ฒํด์ค๊ฑฐ ์ฐ๊ธฐ์ ์ ์๋ฌด๋ ์ง๋์์๋๋ฐ ๊ทธ ์กฐ์ด์คํฑ์ ์๋ ์ด๋ ๊ทธ๋ฐ๊ฑฐ ์ฐ๋๋ผ ์๋ ์ฐ๋๊ฑฐ ์์ค ์ง์ฐ๊ณ ๊ทธ ์กฐ์ด์คํฑ์ ์๋ ์ด๋์ผ๋ก ์ฐ๊ณ ์๋๋ฐ
์๋ง ๊ฑฐ๊ธฐ์ ๋ญ๊ฐ ์ด์ํ๊ฑฐ๊ฐ์ ใ
ใ
๊ทผ๋ฐ ์์ ์์ค ๊ทธ๋๋ก ์ฐ์ง ์ ์ง์ ์ด ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๋ค์ cnControl ์์ ์์ Custom Joystick ์์ ์ฌ์ ์ฐ ๋ค์ Canvas์ EventSystem ์ Ctrl+C ํ 2D ์์ ์ฌ์ ์ด์ด๋ด๋ผ ๊ฑฐ๊ธฐ์ Canvas์ EventSystem ์ ์ง์ด ํ Ctrl+V ํด์ ์คํํด๋ ์ ๋์๊ฐ
๋ด๊ฐ ๋งํ๊ฑด ํน์๋ 0.1 0.2 ๊ฐ์ ๊ฐ๋๋ฌธ์ ์๋๊ฐ ๋๋ ค์ก๋ค ๋นจ๋ผ์ก๋ค ํ๋ ๋ถ๋ถ์ด ๊ฑฐ์ฌ๋ฆฌ๋ฉด ๊ณ ์น๋ผ๋ ๊ฑฐ์๋๋ฐ ๊ทธ๊ฑด 2D ์์ ์ฌ์ Alien์ ๋ถ์ด์๋ Platformer2DUserControl.cs๋ฅผ ๊ณ ์น๋ผ๋ ๋ง์ด์์ ์ฌ๊ธฐ FixedUpdate๋ฅผ ๋ณด๋ฉด float h = CnInputManager.GetAxis("Horizontal"); ๋ผ๊ณ ์์์
์ด๊ฑธ float h = 0; if(CnInputManager.GetAxis("Horizontal")>0.3f) h = 1; else if(CnInputManager.GetAxis("Horizontal")<-0.3f) h = -1; ์ด๋ ๊ฒ ํด์ -1,0,1 ์ด๋ ๊ฒ 3๊ฐ์ ๊ฐ์ด ๋์ค๊ฒ ๋ฐ๊พธ๋ผ๋ ๊ฑฐ์์
์์ ์ ์ ๋์๋ค๋ ์ฝ๋๋ 2D ์์ ์ฌ์ ๊ฒ์ ๊ทธ๋๋ก ์ฌ์ฉํ ๊ฑฐ ์๋? ์ง๊ธ๋ ๊ทธ๋ฅ ๊ทธ๊ฑฐ ๊ทธ๋๋ก ์ฌ์ฉํด๋ ๋ผ
๊ทธ๋ฐ๋ฐ ์๋๋๋ฐ? ๊ทธ๋ฌ๋๊ฐ ๋๋ GetAxis("Horizontal") ํด์ velocity๋ก ์ด๋๋๊ฒ ํ๋๋ฐ ๊ทธ ์ฝ๋๋ฅผ ํ๋ ์ด์ด์ ๋ฃ๊ณ canvasํ๊ณ eventํ๊ณ ๋ณต์ฌํด์ ๋ถ์ฌ ๋ฃ์๋๋ ์๋๋๋ฐ?
๊ทธ๋ฆฌ๊ณ 2d์์ ์ฌํ๊ณ ๋ด๊ฐ ์๋ ์กฐ์ด์คํฑ ์ฐ๊ธฐ์ ์ ํจ๋๋ก ํ๋๋ ์ฝ๋ํ๊ณ ๋ค๋ฆ..
ํ๋ฒ ์ ์ ์ฐ๋ ์ฝ๋ ์ฌ๋ ค๋ณผ๊น?
๋ ์ฝ๋๊ฐ ์ด๋ค์ง ๋ชฐ๋ผ์ ์ ํํ ๋งํ๊ธฐ ํ๋ ๋ฐ ๊ทธ๋ผ ์์ 2d ์์ ์ DPad๋ก ๋๋๋ฆฌ๋ฉด ์๋๋๋ก ์์ง์ด๊ฒ ํ ์ ์๊ฒ ์ด? ๊ทธ๋ผ ๊ทธ๋ ๊ฒ ํ๋ฒ ๋ง๋ค์ด ๋ด ๊ทธ ๋ด์ Custom Joystick ๊ฒ์ ๋ถ์ฌ๋ด ๊ทธ๋๋ ๋๊ฐ์ด ์์ง์ผ๊ฑฐ์ผ
์ํ ๊ทธ๋ฌ๋ ๊ทธ๋ฅ ๋งจ์ฒ์ ์์ ์ด๊ธฐ ๋ด๊ฐ ํ๋๋๋ก ๋๋ ค๋๊ณ ๊ทธ๋ฅ ๊ฑฐ๊ธฐ์ ์กฐ์ด์คํฑ๋ง ๋ฃ์ด๋ณด๋ผ๋๊ฑฐ์ง?
์ ๊ทธ๊ฑฐ 2d ์์ ์ฌ๋ณด๊ณ ๋ฐ๋ผ๋ง๋ ๊ฑฐ ์๋? ๊ทธ๋ผ ๊ทธ๋ฅ ์กฐ์ด์คํฑ๋ง ๋ฐ๊ฟ๋ฃ์ด๋ ๋๊ฐ์ด ์๋ํ ๊ฑฐ์ผ
๊ทธ๊ฑฐ ๋ณด๊ณ ๋ง๋ ๊ฑด์๋๋ฐ.. velocity๋ก ์์ง์ด๊ณ ์ข ๋น์ทํ๊ธดํ๋ฐ.. ์ฐ์ ํด๋ณผ๊ฒ
๊ทธ๋ฐ๊ฐ? ๊ทธ๋๋ ์ด์ฐจํผ CnInputManager.GetAxis("Horizontal") ๋ฅผ ๋ฐ์์ฐ๋ ๊ฑฐ๋ ์ฐจ์ด๊ฐ ๊ฑฐ์ ์์ด์ผ ๋๋๊ฒ ์ ์์ด๋ค
ใ ใ ์ด์ํ๋๊ฐ ์ค๋ฅ๋ฉ์์ง ๋จ๋๋ฐ ๊ทธ๋ฉ์์ง ๋ณด๊ณ ๋์ถฉ ํด๋ณผ์์์๊ฑฐ๊ฐ์
์กํ ์ฒจ๋ณด๋ ์ฝ๋๋ฉด ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๊ทธ๋๋ ๋ด๊บผ๋ ์ผํ ๋น์ทํด์ ์ฝ์ง ์ข ํด๋ณด๋ฉด ๋ ๊ฑฐ๊ฐ๊ธฐ๋.
์๋ ์๊ธฐ๊ฐ ์ง ๊ฑฐ ํ 2์ฃผํ์ ๋ณด๋ฉด ์๋ก์ด ์์ด๋์ด๊ฐ ๋ ์ฌ๋ผ์ ๋ ์ข๊ฒ ๊ณ ์น๊ณค ํจใ ๊ทธ๋ฌ๋ฉด์ ๋ฐฐ์ฐ๋ ๊ฑฐ ๊ฐ์