【发布时间】:2019-08-31 08:04:48
【问题描述】:
我正在尝试用鼠标拖动游戏对象,同时在拖动时保持对象和鼠标之间的距离。我遇到的问题是,在将距离纳入我的代码时,会出现图形故障。我不知道为什么。
我尝试更改坐标的计算顺序,以及对 GameObject 使用 Unity Camera 方法,例如 WorldToScreenPoint()。
代码在不考虑偏移量的情况下工作正常,但我想保留偏移量,所以它尽可能准确。
public void DragObject(BaseEventData eventData)
{
if (!bDebugEnabled) return;
offset = Input.mousePosition - eventData.selectedObject.transform.position;
eventData.selectedObject.transform.position = Input.mousePosition + offset;
}
我希望游戏对象在保持与鼠标的偏移距离的同时移动。例如,拖动游戏对象在其角落处将在拖动时保持不变。
实际结果是游戏对象在靠近鼠标的两个位置之间捕捉。结果可以找到here
【问题讨论】: