封装一个小玩意,拖拽组件

废话不多说,先上链接:
https://gitee.com/ruanwujing/green-pack-cocos.git
一个简单的拖拽组件。拖拽这种东西没太大难度,但是经常会用到,而且真写起来有时还会花不少时间。

开箱即用,往要做拖拽的对象上添加GPDrag组件即可:
image
然后就是根据自己的需求调参数了:

image
touchOffsetSensitive:触碰偏移敏感,默认开启
拖拽时手指或鼠标的落点和对象是有一定偏移量的,对于较小的拖拽对象几乎没什么影响,但是对于较大的对象,拖拽时往往会出现你手指点下去的地方明明是在角落,但是对象的位置瞬间跑到中间和你手指对齐的位置来了。开启状态下,拖拽时会自动帮你算好这个偏移值。

image
backHomeWhenFailed:失败时回家,默认开启。
拖拽一般会有个目标判定,比如从物品栏拖动动角色的装备栏。
很多时候我们会有一个失败时返回原本位置的需求。
脚本里有一个succeedCheck函数可以给它赋值判断拖拽是否成功。
没有该函数的情况下是直接当做失败处理。

image
backHomeType:回家方式,默认是直接设置成拖拽起点
image
tween格式:可以设置缓动返回。
backTweenTime:缓动时间
backTweenEasing:缓动easing类型

image
floatType:上浮类型,默认为不上浮
大部分拖拽对象,在拖拽时会需要让它显示在最上层。
MoveToTop:通过setsiblingindex来让对象的层级移动到兄弟节点中的最上层
image
MoveToTopLayer: 通过指定一个对象,让拖拽对象在拖动时变成指定对象的子节点

image
backToOriZ:拖拽时上浮,拖拽结束时回到原本的层级,默认开启

image
成功检测和成功回调函数,拖拽成功后的自定义操作。根据自己的需求,给这两个函数赋值即可。

以后我会将自己后续开发的各种小玩意都集中放在这个库里。欢迎大家吐槽、挑刺、提建议。

4赞

给你点赞哟

谢谢分享!新萌太需要这些个小玩意儿,我记得unity都有拖动接口了,作为游戏引擎,个人觉得还是得搞一个,cocos 强大起来,这些做游戏的基本接口还是得有——————估计我是小白吧 稍微厉害的都不会有这个低级要求呢 :grinning:

mark!!! 666