失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > UGUI背包实现详解之一UGUI精准拖拽

UGUI背包实现详解之一UGUI精准拖拽

时间:2020-10-06 22:27:43

相关推荐

UGUI背包实现详解之一UGUI精准拖拽

UGUI为开发者提供了许多实现交互的接口,包括拖拽类、点选类、鼠标指针类等,下面是最简单的UI拖拽实现方式:

将上边代码挂在UI上运行,就可以实现最简单的拖拽效果。但是这种方式存在问题:鼠标开始点下时会出现UI位置弹跳,鼠标指针出现了位置偏移并不在UI上。

我们来看一下问题所在:

蓝点为UI的Pivot轴心点,假设红点为鼠标点下位置,由于UI的Position在UI正中位置,但是鼠标开始点下位置总不在UI正中间,所以就导致了UI拖动过程中的位置偏移。而这个偏移量就是上图绿色箭头所标记向量。

现在我们使用另外一种拖拽方式——精准拖拽:

UGUI为我们提供了一个类:RectTransformUtility,其中有UI屏幕坐标转换为世界坐标的方式:ScreenPointToWorldPointInRectangle,坐标转换的好处是:

无论UGUI的Canvas画布模式是哪一种,以上代码都适用。

将此脚本挂在UI上,运行unity,现在UI的精准拖拽就实现了。

如果觉得《UGUI背包实现详解之一UGUI精准拖拽》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。