본문 바로가기
유니티

if랑 else if 주의

by 유니티세상 2025. 7. 8.

두 개의 키를 동시에 누르는 경우(예: W + A)나 키를 계속 누르고 있는 동안 지속적으로 이동하게 만들고 싶었음

 

Else if를 쓰면?

else if는 서로 배타적인 조건일 때 사용해.

if (Input.GetKey(KeyCode.W))
{ // 앞 }
else if (Input.GetKey(KeyCode.A))
{ // 왼 }
  • 이 경우 W와 A를 같이 눌러도, W 조건이 먼저 맞으면 A는 무시됨
  • 즉, 동시에 두 키를 눌러도 하나의 방향으로만 이동하게 됨

 

if만 쓰면 각 조건이 서로 독립적으로 실행

W와 A를 동시에 누르면 moveDirection에 앞쪽 + 왼쪽 방향이 모두 더해져서, 대각선 방향으로 이동

 

if (Input.GetKey(KeyCode.W)) {
    moveDirection += transform.forward;
}
if (Input.GetKey(KeyCode.A)) {
    moveDirection -= transform.right;
}