게임개발

[Unity] 키보드, 마우스 입력 받기

seung_318 2021. 11. 20. 18:13

사진 출처 : seung_318

오늘은 키보드, 마우스 입력을 받아보도록 하자

먼저 입력을 받기전 가장 중요한 Input 클래스에 대해 알아보자.

 

Input : 게임 내 입력(키보드, 마우스 등)을 관리하는 클래스이다.

코드를 작성하기 전에 입력 방식에 대해 알아두고 가자.

입력 방식에는 누르는것, 누르고 있는 상태, 눌렀다 손을 떼었을 때로 3가지로 구분할 수 있다.

 

anyKeyDown : 아무 입력을 최초로 받을 때 true 

anyKeyDown의 리턴 타입이 bool 값이다.

게임을 실행 시키고 Game뷰를 선택하고 아무키를 누르면 "아무키 누름"이라는 문구가 출력된다.

그렇다면 다음으로 키를 누르고 있는 상태를 입력 받는것도 알아보자.

 

anyKey : 아무 입력을 받으면 true (계속 누르고 있는 상태를 입력 받는다.)

anyKeyDown과는 다르게 실행시킨 후 아무키나 누르고 있으면 누르고 있는 동안 계속 입력을 받게 된다.

이제 키보드 입력에 대해 알아보자.

 

GetKey : 키보드 버튼 입력을 받으면 true

Arrow는 방향키를 뜻한다.

위에서부터 순서대로 키보드를 눌렀을 때, 키보드를 누르고 있을 때, 누른 키보드를 떼었을 때의 입력이다.

함수들은 KeyCode라는 매개변수를 가진다. 

KeyCode를 적고 .을 적으면 여러가지 키보드 입력이 나오는데 그 중 원하는걸 선택해서 적으면 된다.

그리고 키 입력에서 Enter키는 Enter가 아닌 Return으로 작성하고 Esc키Escape로 작성해줘야 한다.

나머지 키들은 있는 그대로 작성해도 괜찮다.

작성하고 실행시키면 결과는 위와 같다.

이제 마우스 입력도 알아보자.

마우스 입력은 키보드 입력과 동일하게 Key를 MouseButton으로 고쳐주기만 하면 된다.

 

GetMouse : 마우스 버튼 입력을 받으면 true

마우스 입력은 키 입력과 다르게 숫자를 받는다.

숫자는 0과 1로 0은 좌클릭, 1은 우클릭이다.

실행해보면 수류탄이 잘 투척된걸 볼 수 있다.

 

참고 : 골드메탈