์ฝ๊ณ ์ฑ๋ฅ์ข์ ์ฝค๋ณด์์คํ ์๊ฐํด๋ณผ๊น ํฉ๋๋ค. ์ ๋ํฐ๋ ์๋๋ ์๊ด์์ต๋๋ค.
์ ์ ์ฝค๋ณด์์คํ ์์ด๋์ด๋ ๋นํธ์ฐ์ฐ์ ์ ๋๋ค.ย
๋นํธ์ฐ์ฐ์๋ฅผ ์ด์ฉํ๋ฉด ๋น ๋ฅธ์ฑ๋ฅ์ผ๋ก ์ปค๋งจ๋ ์์ฑ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.ย
์๋ฅผ๋ค์ด ํค์กฐํฉ์ดย
์, ์๋, ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ํ์น, ๊ฐํ์น,ย ํฅ, ๊ฐํฅย ์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค๊ณ ์๊ฐํด๋ด ์๋ค.
64๋นํธ ์ ์์์ 8๋นํธ * 8๋ก ์๋์ ๊ฐ์ด ์ชผ๊ฐค์ ์์ต๋๋ค.
0000 0001 ์ย ย ย ย ย ย ย
0000 0001ย ์๋ย
0000 0001ย ์ผ์ชฝ
0000 0001ย ์ค๋ฅธ์ชฝ
0000 0001ย ํ์น
0000 0001ย ๊ฐํ์น
0000 0001ย ํฅ
0000 0001ย ๊ฐํฅ
๋ง์ฝ ์ผ์ชฝ ๋์ฌ๋ฅผ ๊ตฌํํ๋ค๊ณ ํฉ์๋ค.
์ฒซ๋ฒ์งธ ํค๋ก ์ผ์ชฝ์ ๋๋ ์๋๋ย
0000 0001
๋๋ฒ์งธ ํค๋ก ์ผ์ชฝ์ ๋๋ ์๋๋
0000 0010
์ด๋ ๊ฒ ๋ฐ์์ํค๋ฉด ๋ฉ๋๋ค. ๋นํธ์ฐ์ฐ |๋ฅผ ์ด์ฉํ์ฌ ํฉ์นฉ๋๋ค.
๋ฐ๋ผ์ ์ผ์ชฝ๋์ฌ๋
0000 0000
0000 0000
0000 0011
.... ์ดํ ์๋ตย
๊ฐ์ด ๋ฉ๋๋ค. ์ ๋ํฐ๋ก ์ค์ ๊ตฌํ์ ๋ณด์๋ฉด
public readonly static ulong ArrowLeftย ย = 0x10000;
ulong MakeCommand= 0;
MakeCommand |=ย ArrowLeft;
MakeCommand |= ArrowLeft <<1;
์ด๋ฐ์์ผ๋ก ๊ตฌํ๋ฉด MakeCommand๋ ์ผ์ชฝ ๋์ฌ์ ์ปค๋งจ๋ ๊ฐ์ด ๋ฉ๋๋ค.
์ค์ ๊ตฌํ๋ถ๋ฅผ ๊ฐ๋จํ ์๊ฐ๋๋ฆฝ๋๋ค.
(ํธ์์ ๊ฐํ์น, ๊ฐํฅ์ ์๋ตํ์ต๋๋ค.)
์์ ๊ฐ์ด 8๋นํธ ๊ฐ๊ฒฉ์ผ๋ก ๋จ์ด์ง ์ ์๋ฅผ ์ค๋น ํฉ๋๋ค.
CommandKeyList๋ ํธ์์ ์ ๋ํฐ์ Input.GetButtonDown ํจ์์ ์ฌ์ฉ์ ์ํด ๋ง๋ค์ด ๋๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ์ค๋นํฉ๋๋ค.
CommandCallBack์ ์ปค๋งจ๋๊ฐ ์์ฑ๋๋ฉด ์ํํ ์ฝ๋ฐฑ ํจ์์ ๋๋ค.
NowCommand๋ ์ปค๋งจ๋๋ฅผ ์กฐํฉํ๋ ๋ณ์ ์ ๋๋ค.
CommandList๋ ์กฐํฉ๋ ์ปค๋งจ๋ ๋ชฉ๋ก์ ๋๋ค.
CommandQueue๋ ํ์ฌ ์ ๋ ฅ๋ ํค ๋ชฉ๋ก์ ๋๋ค.
CommandTimming์ ์ ๋ ฅ๋ ํค๊ฐ ๋ด๊ธด ํ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฑฐํ๊ธฐ์ํ ๋น๋๊ธฐ๊ฐ์ฒด ์ ๋๋ค.
Awake์์ ์ปค๋งจ๋ ๋ค์ ์ด๊ธฐํ ํด์ค๋๋ค.
์๊น์ ๊ฐ์ ์๋ฆฌ ์ ๋๋ค.ย
RightDash, LeftDash, PowerAttack, JumpAttack์ ์ด๋ฏธ ๋ง๋ค์ด๋ ๋ฉ์๋ ์ ๋๋ค.
Update ๋ถ๋ถ์ ๋๋ค.
GetButtonDown์ผ๋ก ํค์ ๋ ฅ์ด ๋ค์ด์์๋
NowCommand |= pair.Value << CommandQueue.Count;๋ฅผ ํฉ๋๋ค.
์ฆ, ์ ๋ ฅ์์์ ๋ฐ๋ผ ์ปค๋งจ๋๋ฅผ ์กฐํฉํฉ๋๋ค.
์๋ฐฉ์์ ์ฌ์ฉํ๋ ์ด์ ๋ ์์๊ฐ ์์ผ๋ฉด ( <<ย CommandQueue.Count๋ฅผ ํ์ง ์์ผ๋ฉด )ย
๋น์ฐํ ํค์กฐํฉ์ด ์์์ ์๊ด์์ด ์ ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฆ <- -> ํ์น, ํ์น -> <- ๋ฅผ ํด๋ ๋๊ฐ์ ์ปค๋งจ๋๊ฐ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฝ๋ฃจํด์ ๋๋ค. ๋ณด์๋ฉด์์๊ฒ ์ง๋ง NowCommand ์ด๊ธฐํ์ ๋จ์ ํ๋ฅผ ๋น์๋๋ ์ฝ๋ฃจํด ์ ๋๋ค.
์ปค๋งจ๋๋ฅผ ์ด๊ธฐํํ๋ ๊ท์น์ ํ์์ ๋ฐ๋ผ ๋ก์ง์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๊ทธ๋ฅ ๊ฐ๋จํ ์ฌ์ฌํด์ ๊ตฌํํด๋ดค๊ตฌ์. ๋์์ด ๋์ จ์ผ๋ฉด ํฉ๋๋ค, ๋ฆฌ์คํธ ๊ฐ์๊ฑธ ์ฌ์ฉํ์ง ์๊ณ ๋นํธ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ๊ฝค๋ ์ข์ต๋๋ค.ย
๋จ์ ์ด ์๋ค๋ฉดย ๋นํธ์ฐ์ฐ์๋ฅผ ํตํ ์ปค๋งจ๋ ์ค๊ณ๋ ์ต๋ ํค์ ์์์ ๊ฒฝ์ฐ์์๊ฐ 64๊น์ง๋ง ๊ฐ๋ฅํ๋ค๋ ์ ์ ๋๋ค.
์ฌ๊ธฐ์ ํ๋ ๊ผญํ์ํ์ง๋ ์์ต๋๋ค. ๊ทธ๋ฅ ํ์ฌ์ ๋ ฅ ํ์๋ง ๊ธฐ๋กํ์๋ฉด๋ฉ๋๋ค๋ง ์ผ์ ์ฃผ๊ธฐ๋ก ๋งจ์์ ํค๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ์ผ์ ๋ถ์ ํ๋ฅผ ์ด์ฉํ์๋ฉด ๋ฉ๋๋ค.
์ด๋ฏธ ๋์น์ข์ ์ ๋ค์ ์๊ฒ ์ง๋ง ์ํํ์ธ์ฉ int ํ๋์ ์ค์์น๋ฉด ๋ค ๋๋๊ฑฐ๋ค.
๋ฐ์ ์ฝค๋ณด ์ง๋ฌธํ ์ฌ๋์ธ๋ฐ ์ด ๊ธ ๋ณด๋๊น ๊ฐ์ด ์ค๋ค์ ๊ฐ์ฌํฉ๋๋ค ์์ง ๋ธ๋ฆฌ๊ฒ์ดํธ๋ ์ฝ๋ฐฑ ๊ฐ์ ๋ถ๋ถ์ ์ฐพ์๋ณด๋ฉด์ ๋ ์ตํ์ผ๊ฒ ๋ค์ ใ ใ
64๊ฐ์ง ๊น์ง ๋๋ค๋๊ฑด ์ด๋ค๊ฑธ ์๋ฏธํ๋๊ฑฐ์ฃ ?
64๊ฐ์ง๊น์ง ๋๋ค๋๊ฑด... ์์ ์์ ๋ก์น๋ฉด ์ง๊ธ ์ผ์ชฝ๋์ฌ์ 2๊ฐ ์ค๋ฅธ์ชฝ๋์ฌ์ 2๊ฐ ํ์์ดํ3๊ฐ ์ ํ์ดํ4๊ฐ ์ด๋ ๊ฒ ๋๋ฉด 11๊ฐ๋ฅผ ์ฌ์ฉํ๊ฑด๊ฐ์?
์๋๋ฉด ์ฝค๋ณด์๊ฒฝ์ฐ 64๋จ์ฝค๋ณด๋ฅผ ์๋ฏธํ๋๊ฑด๊ฐ์?