pageview组件是不是没有自动播放、换页的功能?找了半天没找到
可以使用scrollToPage试试, 第一个参数是想切换到第几页, 第二个参数是切换动画持续少时间
cc.PageView.scrollToPage(1, 2);
循环自动换页,可以在定时器里搞定
this.schedule(() => {
//一共多少页
let count = this.pageView.getPages().length;
//取当前页下序号
let index = this.pageView.getCurrentPageIndex();
//为最后一页,index为0,否则+1
index = index >= count ? 0 : index + 1;
//执行切换
this.pageView.scrollToPage(index, 2);
}, 10); //10秒一换
1赞
非常感谢
若还需要要鼠标手动去滚动,遇到的问题:自动滚动与手动滚动,会同时触发我绑定在pageview上的onPageEvent方法。我想不同时触发,但我又要在pageview上绑定回调函数onPageEvent。大佬,指点下
你手动触发会触发touch相关事件,你自己记录一下有没有touch就行了吧?
pageview手动滚动与自动滚动都会触发那回调函数,我想自动时触发那回调函数,自动滚动时取消绑定那回调函数。不知怎么弄,试了几次不行。。。
你手动触发时你会用手在屏幕上滑动吧?自动触发不需要手滑动吧?你监听touchmove事件,只要touchmove事件触发了就肯定是手滑动的啊,你根据这个就能知道是手动触发的还是自动触发的了吧
已用上 感谢感谢
发现个切换的bug ,修改了一下
this.schedule(() => {
let count = this.pageView.getPages().length;
let index = this.pageView.getCurrentPageIndex();
index = ((index < count) && (index + 1 !== count)) ? (index + 1) : 0;
this.pageView.scrollToPage(index, 2);
}, 10); //10秒一换
let count = this.pageView.getPages().length - 1;
这样改一下比较简单