做拖动功能时,Canvas有自带的缩放,PointerEventData里的position要除以这个缩放才是正确的鼠标位置
[HideInInspector]
public Canvas ThisCanvas;
void Start()
{
ThisCanvas = GetComponentInParent<Canvas>();
}
public void OnBeginDrag(PointerEventData eventData)
{
var position = new Vector3(eventData.position.x, eventData.position.y, itemTransform.position.z) / ThisCanvas.scaleFactor; //根据Canvas缩放比例调整触发距离
}