GAME Dev/Tip
UI 버튼 클릭 시 아래 오브젝트 클릭도 함께 인식되는 문제
루피캣
2023. 9. 11. 13:27
반응형
유니티 게임을 데스크탑에서 실행 시에는 문제가 없으나
아이폰, 안드로이드 등 모바일 디바이스에서 실행 시,
UI 버튼을 클릭하면 그 바로 아래 오브젝트도 함께 클릭이 인식되는 문제가 발생했다.
Update() 함수안의
if (!EventSystem.current.IsPointerOverGameObject() && Input.GetButtonUp(Constants.INPUT_ATTACK))
IsPointerOverGameObject 함수가 재대로 동작하지 않는 문제이다.
인수로 0, -1등을 주면 데스크탑과 구분하여 동작한다고도 하는데,
나의 환경에서는 여전히 문제가 되어
유니티의 Input Manager를 사용하는 Input.GetButtonUp을 제거하고
if (Input.GetMouseButtonDown(0))
로 교체 후 정상 동작
GetMouseButtonDown은 터치 입력에도 동작한다.
이미지 오브젝트를 클릭해서 씬을 이동하였는데
클릭한 그자리에 다시 이전 씬으로 돌아가는 Exit 버튼이 있을 경우
다음 씬의 Exit 버튼이 함께 눌러지는 문제가 있다.
아이폰 등 iOS 기기에서만 발생
GetMouseButtonDown을 GetMouseButtonUp으로 변경하면 해결 된다.
반응형