progect settings - input manager - axes
기본 30개 정도의 입력축을 설정할 수 있다
키보드 및 마우스 매핑 설정
- 왼쪽, a 키는 네거티브 버튼으로 입력고 오른쪽, d 키는 포지티브 버튼으로 입력된다
- 조이스틱, 여러 조이스틱 등 입력 관리자로 입력에 대한 액션을 관리할 수 있다
getMouseButtonDown 대신 getAxis(입력 관리자) 사용하기
~ 클릭을 하면 캐릭터의 스프라이트가 변화하는 프로그램 재검토~
Input.GetAxis 설명
기본 개념:
Input.GetAxis 함수는 지정된 입력 축(axis)의 값을 반환합니다. 입력 축은 연속적인 값으로 나타나며, 보통 -1에서 1 사이의 범위로 변화합니다. 이 값은 사용자가 입력 장치를 어떻게 움직였는지에 따라 달라집니다.
- 입력 관리자에서 축을 31개로 설정하면, 가장 아래에 새로운 축이 생긴 걸 확인할 수 있다.
- 새로 추가된 축 이름을 ChangeCharater으로 변경하고 왼쪽 마우스(Mouse 0)입력을 매핑힌다.
>>> 기존과 다르게 클릭을 한 번만 해도 스프라이트가 여러 번 바뀐다.
(마우스의 한계로 아무리 짧게 클릭해도 2번은 바뀜)
클릭 한 번에 스트라이프를 한 번만 바꾸고 싶다면?
- 기존 스크립트(ChangeCharater)에서 플래그 설정
- 마우스를 눌렀을 때 플래그를 true로 설정한다
- 플래그가 true이면 (!previousChangeCharaterInput)이 false가 되어 캐릭터가 바뀌지 않는다
- 마우스를 누르지 않으면 플래그를 false로 설정한다
>>> 플래그의 설정으로 연속적인 캐릭터 체인지를 방지한다
'코딩 공부 > Unity C#' 카테고리의 다른 글
키보드 입력 및 게임패드(Joystick) 처리, 오브젝트 이동 (1) | 2024.06.30 |
---|---|
입력 관리자를 활용하여 스폰 및 폭발 (0) | 2024.06.30 |
마우스의 위치로 오브젝트 이동 Exercise (0) | 2024.06.26 |
마우스 버튼 처리 (0) | 2024.06.24 |
마우스 위치 처리 & 클램핑(Clamping) (2) | 2024.06.24 |