두 개의 키를 동시에 누르는 경우(예: 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;
}
'유니티' 카테고리의 다른 글
[에러] 아두이노, 유니티 무한로딩 원인 (IOException: 스레드 종료 또는 응용 프로그램 요청 때문에 I/O 작업이 취소되었습니다.) (0) | 2025.07.09 |
---|---|
[유니티] 1. 아두이노 설치하기 (0) | 2025.07.09 |
Input.GetKeyDown,Input.GetKey, Input.GetKeyUp 차이점 (0) | 2025.07.08 |
Point Light 안보이는 에러 (0) | 2025.06.30 |
[UNITY] New Input System , Input Actions Editor, 런타임 키맵핑 (1) | 2025.06.26 |