Advertisement

Unity&NGUIUI精灵追踪鼠标移动

阅读量:

NGUI背包系统的用户界面偶尔会出现鼠标与UI精灵无法同步的问题

  1. 直接在UIDragDropItem文件中对以下函数进行修改

protected virtual void OnDragDropMove (Vector2 delta)
{
mTrans.localPosition += 2*mTrans.InverseTransformDirection((Vector3)delta);
}

若发现位移效果不足,可调整数值大小

如需更高的精度,可采用如下方式

mTrans.localPosition += (float)2.5*mTrans.InverseTransformDirection((Vector3)delta);

mTrans.localPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);

此方法会导致物体无法及时响应鼠标的移动,目前尚未找到合适的替代方案来实现更准确的调整

复制代码

此语句在NGUI中用于实现UI精灵随鼠标移动的功能时并不适用,原因在于UI精灵在操作过程中会突然调整Z轴方向的数值,从而导致偏移量变得过大。

![](https://ad.itadn.com/c/

全部评论 (0)

还没有任何评论哟~