작성
·
410
1
UI_EventHandler 컴포넌트를 UI_Button 오브젝트에 적용시키고 OnBeginDrag, OnDrag를 콘솔창에 Debug.Log할 때 강의와 질문드립니다.
강의에서는 text, img, button 전부 Drag가 잘 출력되는데 저는 img 오브젝트에서만 반응합니다 UI_Button 오브젝트에서 UI_EventHandler 컴포넌트를 제거하고 ScoreText에만 컴포넌트를 적용시켜 보아도 Drag가 출력되지 않습니다.
해결하고 싶습니다 ㅠ.ㅠ
답변 4
1
저도 똑같은 상황이었는데 저의 경우에는 알고 보니까 PlayerController에 있는 코드가 image가 없는 UI_Button 클론을 생성하면서 image를 제외한 다른 것들을 덮어 씌워 버렸어요. 그래서 드래그가 image만 적용된 듯하네요 ㅋㅋ
0
실험으로 ItemIcon에 UI_EventHandler를 붙이신줄 알고 한번 실험 후 스크립트를 지웠었는데, 그게아니라 ItemIcon에서도 UI_EventHandler를 유지해야하는걸로 확인했습니다! 제가 이해한게 맞을까요?
0
OnDrag함수에서
으로 버튼이나 이미지를 움직이는 것도 안돼서 Debug.Log로 trasnform.position을 출력해보니 어떤 오브젝트를 드래그해도 UI_Button의 transform 값이 나왔습니다.
아마 강사님이 말씀하신 '먼저 먹어버리는' 오브젝트가 UI_Button이 먹는다고 생각되는데 해결방안이 있나요?
0
위 내용만으로는 알 수 없습니다.
클릭은 되는데 drag만 안되는지도 확인이 필요합니다.
왜냐하면 보통 이런 문제는 앞에 무엇인가가 이벤트를 '먼저 먹어버려서' 막히는 상황인 경우가 많습니다.
현재 프레임워크상 Bind를 할 때 알아서 UI_EventHandler를 코드에서 추가해줄텐데요.
제가 말한 이벤트를 '먹어버리는' 상황은
UI 여러개가 중첩해서 동일한 위치에 겹쳐질 때 다른 애가 먼저 이벤트를 처리해서
뒤에 있는 UI는 이벤트 처리가 되지 않는 상황입니다.