((PointerEventData data) => {evt.gameObject.transform.position = data.position;})
처음에는 transform.position = data.postion이라고 했다가, image UI가 드래그 해도 움직이지 않게 되는걸 보여주셨고
그래서 뒤에 evt.gameObejct를 추가해서
UI_EventHandler를 들고 있는 게임오브젝트의 트랜스폼을 변경하는걸로 고쳐주시잖아요
이 부분을 이해하는건 딱히 어렵지 않았습니다만
그 과정에 발생하지 않은 어떤 부분이 이해가 안됩니다
처음에 transform.position = data.position만 있을때는 말 그대로 이 스크립트(UI_Button.cs)가 붙어있는 UI_Button이라는 게임오브젝트의 트랜스폼을 변경하는거잖아요
당연히 이 오브젝트는 Transform 대신에 RectTransform을 들고 있으니까 저 변경이 적용될리가 없다고 이해했습니다
그런데 왜 여기서 NullReferenceException이 뜨질 않는건가요?
어쨋든 Transform이라는 컴포넌트가 있는건 아닌데 말이죠
지금 그 다음강의를 보고 있다가 혹시나 하는 생각으로 글에다 추가 중인데요
혹시 저기서 NullReferenceException이 뜨질 않는 이유가, RectTransform이 Transform을 상속하고 있는것과 관련이 있나요?
그리고 한가지 더 질문을 드리면, 수정전 코드로 이미지UI를 드래그해서 움직이려고 하면 UI_Button 오브젝트의 transform을 변경하게 되는거였다고 했잖아요
그런데 UI_Button의 RectTransform 컴포넌트의 좌표를 보고 있어도 변하질 않던데 이건 왜 그런가요?