์ ๋๋ฉ์ดํฐ์ ์ธํธํ ํ๋ผ๋ฏธํฐ hAxisRaw ํ๊ณ vAxisRaw ์ถ๊ฐํ๋ค์์ ํ๋ ์ด์ด ์คํฌ๋ฆฝํธ์
h = Input.GetAxisRaw("Horizontal");
v = Input.GetAxisRaw("Vertical");
anim.SetInteger("hAxisRaw", (int)h);
anim.SetInteger("vAxisRaw", (int)v);
์๋ ๊ฒ ๋ฃ๊ณ
์์น๋ฐ๋๊ฑฐ์๋ฐ๋ผ 0๋ณด๋ค ์ ์๋ 0์ผ๋ ์ด๋ฐ์์ผ๋ก ์ ๋๋ฉ์ดํฐ ์์๋์์ ๋๊ธฐ๋ ๊ฑท๊ธฐ ์ ๋๋ฉ์ด์ ์ ํํด๋จ๋๋ฐ
๊ฒ์์์ ์์ง์ฌ๋ณด๋๊นย hAxisRawย vAxisRaw ์ด ๋ ํ๋ผ๋ฏธํฐ๊ฐ์ด 0์์ ์๋ณํ๋ค ๋ญ์ง ๊ฐ์ ํ๋ณํ์ด ๋ฌธ์ ์ธ๊ฐย
ํ๋ ์ด์ด ์ฝ๋ ์ ๋ถ ๊ฐ์ ธ์ค๋ฉด
public class PlayerMove : MonoBehaviour
{
ย ย Rigidbody2D rigid;
ย ย Animator anim;
ย ย public float Speed;
ย ย float h;
ย ย float v;
ย ย bool isHorizonMove;
ย ย void Awake()
ย ย {
ย ย ย ย rigid = GetComponent<Rigidbody2D>();
ย ย ย ย anim = GetComponent<Animator>();
ย ย }
ย ย // Update is called once per frame
ย ย void Update()
ย ย {
ย ย ย ย h = Input.GetAxisRaw("Horizontal");
ย ย ย ย v = Input.GetAxisRaw("Vertical");
ย ย ย ย bool hDown = Input.GetButtonDown("Horizontal");
ย ย ย ย bool vDown = Input.GetButtonDown("Vertical");
ย ย ย ย bool hUp = Input.GetButtonUp("Horizontal");
ย ย ย ย bool vUp = Input.GetButtonUp("Vertical");
ย ย ย ย if (hDown || vUp)
ย ย ย ย ย ย isHorizonMove = true;
ย ย ย ย else if (vDown || hUp)
ย ย ย ย ย ย isHorizonMove = false;
ย ย ย ย anim.SetInteger("hAxisRaw", (int)h);
ย ย ย ย anim.SetInteger("vAxisRaw", (int)v);
ย ย }
ย ย private void FixedUpdate()
ย ย {
ย ย ย ย Vector2 moveVec = isHorizonMove ? new Vector2(h, 0) : new Vector2(0, v);
ย ย ย ย rigid.velocity = moveVec * Speed;
ย ย }
}
์๊ฑฐ์
int ํ์ด 0, 1, 2, 3...์ด๋ฐ ์์ผ๋ก ๋ง์ถฐ์ฃผ๋๊ฑฐ๋๊น ๊ทธ๋ฐ๋ฏ ์ถ์๋ฐ. ๊ฒฝํ ์ int๋ฅผ float ํ์ผ๋ก ๋ณํํ๋๊ฑด ๊ด์ฐฎ์๋ฐ float ํ์ int๋ก ๋ฐ๊พธ๋ ์๊ฐ ์๋๋๊ฑฐ ๋ฌด์ง์ฅ ๋ง์์ง
์ ๋๋ฉ์ดํฐ ํ๋ผ๋ฏธํฐ์๋ float ๊ฐ ๋ฐ๋๊ฒ ์์ผ๋๊น ๊ทธ๋ฅ float๋ก ํด๋ณด์
๊ทธ๊ฒ ๋๋ ๊ทธ์๊ฐํด๋ด์ ๋ฐ๊ฟจ๋๋ฐ float ํ ํ๋ผ๋ฏธํฐ๋ ์ดํ์ด ์๋๋ผ๊ณ ๋ด๊ฐ ์ ๋๋ฉ์ดํฐ ๋ก์ง์ด ์ง๊ธ ์๋ก๊ฐ๋๋ vAxisRaw๊ฐ greater 0 ์ด๊ฑฐ๊ณ ์๋ฅผ ๋ณด๋ ๋๊ธฐ์ํ๋ ์๋ฅผ๋ณด๋ฉฐ ๊ฑท๋ค๊ฐ vAxisRaw๊ฐ equal 0 ์ธ๋ฐ ์ ๊ธ์ฐ๋ค๋ณด๋ ๊นจ๋ฌ์๋๋ฐ ๊ทธ๋ฅ ๋ค๋ฅธ boolํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐํ๋๊ฐ ํด์ ๋ด๋ง๋๋ก ์ง๋ด์ผ๊ฒ ๋ค
๊ทผ๋ฐ ์ง๊ธ ๋ค์๋ณด๋๊น getaxisraw์ธ๋ฐ int๋ก ๋ค์ ํ๋ณํํ ์ด์ ๊ฐ ์์?
์ด ๊ทธ๋ฌ๋ค getaxis๋ฉด ๋ชฐ๋ผ raw๋ฉด ์ธํธํ ๋ฐํ์ผํ ๋ฐ ์ ์ด๊ฑฐ floatํ ์ ์ธ์ด์ง ๋ด๊ฐ ๊ณจ๋๋ฉํ๊ฑฐ ๋ณด๋ฉด์ ๊ทธ๋๋ก ์ฎ๊ฒจ์ ์๊ฑฐ๋ผ ๊ทธ๋ฐ๊ฐ
์ ๊ทผ๋ฐ int๋ก ๋ณ์์๋ฃํ ๋ฐ๊ฟ๋ณด๋๊น ์ค๋ฅ๋๋ค getaxisraw๋ ๊ธฐ๋ณธ์ ํ๋กํธํ์ธ๊ฐ