A UI를 드레그 하여 B UI 위치에 드롭을 하는 발동하는 기능을 만들고 싶었다.
흔히 많이 사용하는 방식으로
A UI에 해당 코드를 넣어주었다.
그리고 B UI에
B UI위에 마우스가 올라가는지 판별하는 변수를 만들어 주었다.
여기서 문제가 발생하였는데 OnDrag중에는 OnPointerEnter가 호출이 되지 않았다.
그 이유는 해당 함수들은 RayCast를 이용하는데
드레그 하는 동안에는 항상 마우스 아래 A UI가 있다보니
그 아래에 있는 B UI를 인식하지 못했던 것이다.
해결법으로는
시작시 raycastTarget = false; 로 꺼주고
OnEndDrag 에서 다시 true로 바꾸어 주면 해결이 된다.
반응형
'가이드 > Unity, C#' 카테고리의 다른 글
유니티 파이어베이스 애널리틱스(Firebase Analytics) 로그 연동 (2) | 2022.02.21 |
---|---|
Rider 유니티 자동완성, 글자색 변환 안될때 해결법 (1) | 2022.01.31 |
라이더(Rider) 줄바꿈, 개행 길이 조절하는법 (0) | 2021.10.14 |
유니티/C# Primary constructor body is not allowed 오류 (1) | 2021.05.28 |
Redundant conditional ternary expression usage (0) | 2021.01.24 |
댓글