본문 바로가기
가이드/Unity, C#

유니티 OnDrag 중에 OnPointerEnter 호출되지 않는 문제 해결법

by 루엔_vivid 2021. 12. 10.

A UI를 드레그 하여 B UI 위치에 드롭을 하는 발동하는 기능을 만들고 싶었다.

흔히 많이 사용하는 방식으로

A UI에 해당 코드를 넣어주었다.

그리고 B UI에 

B UI위에 마우스가 올라가는지 판별하는 변수를 만들어 주었다.

 

여기서 문제가 발생하였는데 OnDrag중에는 OnPointerEnter가 호출이 되지 않았다.

그 이유는 해당 함수들은 RayCast를 이용하는데

드레그 하는 동안에는 항상 마우스 아래 A UI가 있다보니

그 아래에 있는 B UI를 인식하지 못했던 것이다.

 

해결법으로는

시작시 raycastTarget = false; 로 꺼주고

OnEndDrag 에서 다시 true로 바꾸어 주면 해결이 된다.

반응형

댓글