原因:
UGUI上的元素,都采用 RectTransform 组件进行变换。在Inspector上显示的坐标都是anchoredPosition,而非 localPosition。anchoredPosition 和 localPosition 不是任何时候都相等的,不能直接以此数值做 DOLocalMove 动画。
需要明确:
anchoredPosition 为: “子物体pivot” 相对于 “子物体锚点” 的位移。
localPosition 为:“子物体pivot” 相对于 “父物体pivot ” 的位移。
即,如果 “子物体锚点” 没有与 “父物体pivot ” 重合,那 localPosition 就与 anchoredPosition 不等,就可能出现问题。使用实际的 localPosition 做 DOLocalMove 动画,可以一定程度上解决问题。
查看 localPosition 的方法如下图:
实例:
需要移动到localPosition位置:
实际需要移动到localPosition位置:
目前的位置:
方法1:
方法2: