求大神帮忙!现在有个奇葩需求,必须要滚动容反方向滚动,即手指往上滑内容往下滚动,往下滑内容往上滚动。
查了api,网上也搜了很多,没有能够解决!急需帮助!谢谢了!!!!!!!
这个效果可以自己实现借助类似这样的脚本自己做滚动效果
监听cc.Node.EventType.TOUCH_MOVE,
监听函数里面获取偏移量const deltaY = event.getDeltaY();
然后做表现
moveTouchEvent (moveY, downLimitY, upLimitY) {
if (this.scrollView.content.height > this.getScrollMaxLimitValue()) {
var contentY = this.scrollView.content.y;
if (moveY < 0) { //向下滑动
this.up = true;
if (this.down) {
if (contentY <= downLimitY) {
this.down = false;
this.scrollView.content.y = downLimitY;
}
else {
this.scrollView.content.y += moveY;
}
} else {
return;
}
} else { //向上滑动
this.down = true;
if (this.up) {
if (contentY >= upLimitY) {
this.up = false;
this.scrollView.content.y = upLimitY;
}
else {
this.scrollView.content.y += moveY;
}
} else {
return;
}
}
}
},
好的 我一会试试 谢谢了 真是救命啊 万分感谢
这样实现的话有个需要注意的点是判断滑动区域的限制情况,比如说只有当所有item的height加上item间的空隙spacing大于滑动视图的height才能滑动,也就是getScrollMaxLimitValue函数的思路
谢谢,现在已经基本实现了,但是有一个问题,就是我在容器上监听cc.Node.EventType.TOUCH_MOVE,滚动是没问题的,就是如果容器里有子节点的话,拖动子节点区域没反应了,只有在空白区域拖动才可以。
这个具体情况具体分析,你多试试就会找到解决方案的
找到原因了,是因为子节点有button组件导致的,但是我这里子节点全都是button组成的
用自带的ScrollView都没有问题,是要加什么条件吗?
子节点的点击事件可以自行注册node.on,不使用cc.Button试试