유니티에서 Input system을 사용하다보면, 특정 입력을 받고 싶지 않을 때가 있다.
예를 들면 옵션 창이 활성화 중이라면 게임은 일시정지가 되어야하기 때문에 플레이어의 이동, 상호작용 등의 모든 키 입력은 무시해야한다. 이럴 때 actions["이벤트 명"].Disable을 사용하면 특정 키 입력을 무시할 수 있어 위와 같은 문제를 해결 할 수 있다.
위 처럼 InputSystem에 등록된 Action 이벤트들은 세팅해놓은 입력장치의 입력에 따라 호출되는데 이를 ations.Disable()을 통해 Input 값을 받지 않게 할 수 있다.
_playerInput.actions은 딕셔너리 형태이기 때문에 [] 안에 key값으로 해당 이벤트 이름을 넣어 Disable(), Enable()을 통해 입력값 활성화 비활성화만 해주면 된다.
이러한 기능을 잘 활용한다면, 옵션 창이 활성화 중일 때, 기존보다 쉽게 키 입력을 무시하는 기능을 구현해서 일시 정지를 구현할 수 있다.
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/Actions.html
'Unity > 2D' 카테고리의 다른 글
유니티 2D 콜라이더 합치기 (0) | 2024.08.17 |
---|---|
유니티 2D RuleTile 규칙 유의사항 (0) | 2024.08.15 |
파괴하는 도중에 오브젝트 생성 오류 (0) | 2024.07.03 |
오브젝트가 파괴되었는데 참조하려고한다.. 오류 (0) | 2024.07.03 |
Unity Photon Pun2 연결하는 방법 (0) | 2024.01.15 |