[Unity] UI 클릭 시 다른 오브젝트가 클릭될 때
클릭이벤트를 이용하는 오브젝트 위에 안내 메시지창을 뜨게 하거나, 이미지가 뜰 경우
UI에 막혀 클릭이 안될거라고 생각한 오브젝트가 클릭 이벤트를 처리하는 상황이 발생할 수 있다.
이럴 땐
① Inspector창에서 사용되는 Image의 Raycast Target을 체크해준다.
Raycast Target은 z축 방향으로 ray를 쏠 때 광선이 닿는대상이 될 것인지 아닌지를 결정한다.
② 마우스 클릭 처리를 하는 코드를 작성할 때 IsPointerOverGameObject()를 이용해준다.
IsPointerOverGameObject()는 UI가 클릭되면 True, 그렇지 않다면 false를 반환한다.
1 | using UnityEngine.EventSystems; |
마우스 클릭을 처리하는 부분에 IsPointerOverGameObject() 메소드를 이용하여 작성해주면 된다.
1 | private void OnMouseDown() |