ScreenPointToLocalPointInRectangle 这个函数其实是非常的简单的,我都不知道为什么要花费四个小时去研究,后来得出原来是我的事件相机没有给对,可气的是,事件相机没给对,Unity居然也不报错,让我一直楞头楞脑的去测试,,,,要吐血。。。
这个函数有四个参数:
RectTransform(子节点想要以某个父节点的中心点UGUI坐标,说白了就是你想要以谁为中心),
SceenPoint(屏幕坐标,因为是2d的,所以只能是屏幕坐标,如果不是屏幕坐标怎么办,如果是场景物体,那么就要通过世界坐标转成屏幕坐标了,这个参数的意思就是你想要把想转的物体屏幕坐标转成RectTransform的局部坐标),
Camera(事件相机,如果canvas的渲染模式是Screen Space-camera或者是world Space,那么直接从canvas中得到渲染相机就好,如果是Sceen Space-Overlay,那么这个参数可以传一个空值null),
Out Position(这个参数就是通过转化得到的子节点在父节点的局部坐标了)
举栗子说明一下,让UI跟随鼠标进行移动