반응형
유니티 게임을 데스크탑에서 실행 시에는 문제가 없으나
아이폰, 안드로이드 등 모바일 디바이스에서 실행 시,
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으로 변경하면 해결 된다.
반응형
'GAME Dev > Tip' 카테고리의 다른 글
스프라이트 패키징 Sprite Atlas V2, TexturePacker (0) | 2023.09.12 |
---|---|
유니티 파티클 사용 Tip(스크립트 제어, Sorting 등) (0) | 2023.09.12 |
C# 형변환 (0) | 2023.09.09 |
유니티 toggle 버튼 isOn을 스크립트에서 구현 (0) | 2023.09.09 |
UI 이미지 버튼, 버튼 애니메이션 (0) | 2023.09.08 |
댓글