본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다.
Input을 이용하면 키보드, 마우스를 눌렀을 때 값을 입력받을 수 있습니다.
이번에는 값을 입력받을 수 있는 함수를 소개해보고자 합니다.
1. GetAxis, GetAxisRaw
InputManager에 입력된 키를 누를 때, 값을 반환합니다. 이때, 반환되는 값은 -1 ~ 1사이가 반환됩니다.
nagative button을 누르면 음수가, positive button을 누르면 양수가 반환됩니다. 아무것도 누르지 않는다면 0이 반환됩니다.
물체를 이동시키고 싶을 때 사용합니다.
GetAxis() | -1 ~ 1까지의 실수를 반환 |
GetAxisRaw() | 버튼을 눌렀을 때 1, -1을 반환. 그렇지 않다면 0을 반환 |
2. GetButton
InputManager에 입력된 키를 누를 때, 참, 거짓을 반환합니다.
키를 눌렀을 때는 true를 반환, 그렇지 않다면 false를 반환합니다.
GetButton() | 키를 누르는 시간만큼 true를 반환 |
GetButtonDown() | 키를 눌렀을 때, 딱 한번 true를 반환 |
GetButtonUp() | 키를 누르다 땠을 때, 딱 한번 true를 반환 |
3. GetKey
keycode에 의해 지정된 키을 누를 때, 참, 거짓을 반환합니다.
키를 눌렀을 때는 true를 반환, 그렇지 않다면 false를 반환합니다.
GetKey() | 키를 누르는 시간만큼 true를 반환 |
GetKeyDown() | 키를 눌렀을 때, 딱 한번 true를 반환 |
GetKeyUp() | 키를 누르다 땠을 때, 딱 한번 true를 반환 |
지정된 키코드는 다음에서 확인할 수 있습니다.
docs.unity3d.com/kr/530/ScriptReference/KeyCode.html
4. GetMouseButton
마우스를 눌렀을 때, 참, 거짓 값을 반환합니다. 키보드가 아닌 휴대폰에서도 사용 가능합니다.
마우스를 눌렀을 때는 true를 반환, 그렇지 않다면 false를 반환합니다.
0은 좌클릭, 1은 우클릭, 2는 중앙 휠을 나타낸 것입니다.
.GetMouseButton() | 키를 누르는 시간만큼 true를 반환 |
GetMouseButtonDown() | 키를 눌렀을 때, 딱 한번 true를 반환 |
GetMouseButtonUp() | 키를 누르다 땠을 때, 딱 한번 true를 반환 |
※InputManager는 Edit>Project Setting>Input Manager에서 확인할 수 있습니다. InputManager에 지정하고 싶은 키의 수를 늘리고 싶다면 Axe의 size를 늘리십시오.
사용 예시
주로 Input과 곁들여 사용합니다.
2번째와 3번째는 인자를 다르게 작성하였지만 같은 기능을 한다.
Input.GetAxisRaw("Horizontal") //왼쪽 화살표를 누르면 -1, 오른쪽 화살표를 누르면 1 반환
Input.GetKeyDown(KeyCode.Space) //스페이스 바를 누르면 딱 한번 true 반환
Input.GetKeyDown("Space") //상동
Input.GetMouseButton(0) //좌클릭하는 동안 true 반환
'Unity > 다루기' 카테고리의 다른 글
[유니티] 거리 측정하기 (0) | 2021.06.06 |
---|---|
[유니티] 난수 발생 (0) | 2021.05.30 |
[유니티] 4. 콜라이더(collider), 트리거 (0) | 2021.05.26 |
[유니티] 3. 이동시키기 (0) | 2021.05.19 |
[유니티] 1. 리지드바디 (Rigidbody) (0) | 2021.05.11 |