//node 滚动条节点,监听scrollbar节点的触摸移动事件 
//scrollView 滚动节点,设置滚动位置
this.node.on('touchmove', function (event) {
            //获取一下当前的滚动视图的可滚动的最大偏移量
            let maxScrollOffset = this.scrollView.getMaxScrollOffset();
            //>0表示可进行滚动
            //isVertical 滚动的方向(是否是垂直滚动)
            //Offset 滚动条的相对位置,如果是全屏的滚动视图则不需要这个参数
            if (this.isVertical && maxScrollOffset.y > 0) {
                let delta = event.getLocationY() - this.Offset;
                //计算比例,根据鼠标移动的距离计算出需要滚动的百分比
                let p = delta / this.node.height;
                //设置百分比
                this.scrollView.scrollTo(cc.v2(0, p));
            } else if (maxScrollOffset.x > 0) {//横向滚动的
                let delta = event.getLocationX() - this.Offset;
                let p = delta / this.node.width;
                this.scrollView.scrollTo(cc.v2(p, 0));
            }
        }, this);

 

 

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐