Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
UGUI拖动的问题。
sdhexu发起了话题2017-06-19
4
回复
386
浏览

大神,请问 IDropHandler 和 IEndDragHander 有何区别??我Debug.Log他们,没有看出有什么区别来。

如果我要做背包,当物品拖动结束时,处理各种情况,用他俩哪一个比较好??

另外,我如何知道物品被拖动到什么物体上了??就是当拖动结束时,鼠标下面的物体是什么如何获取??

 

所有回复
  • 丶CK 2017-06-19

    就是当拖动结束时,鼠标下面的物体是什么如何获取??    ------- 背包系统的例子好的很,      IDropHandler 和 IEndDragHander 有何区别        API  

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • sdhexu 2017-06-19

    SIKI老师做的背包,基本都是用的NGUI。唯一一个用UGUI做的背包,做的是类似“饥荒”里的背包,不需要做拖动,是用鼠标点击来判断下面的物体的,根本没有使用IDropHandler和IEndDragHandler...

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-06-19

    两个IDropHandler和IEndDragHandler都是拖拽结束的时候调用的

    只是drop先执行 enddrag后执行

    想要检测鼠标下面是什么物体的话,可以使用射线检测

    使用射线检测就不能让当前拖动的物体遮挡

    为了不让当前拖动的物体遮挡,就把物体设置为Raycast Target取消掉(不做事件检测)

    这样一来就没办法使用系统自带的几个事件了,所以要自己去做拖拽,拖动的时候禁用事件,释放之后再启用事件

    • sdhexu 2017-06-20

      感谢siki老师的耐心回复。。。已经成功完成这个功能了。。。我用的是EventData里面的PointEnter对象来检测的,一开始PointerEnter对象总是图标本身,看到老师的答复,恍然大悟,将RaycastTaget关闭后,PointEnter里面就是鼠标下面的东东了。。。

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!