CocosCreator列表滑动速度的修改

引擎版本:2.2.2,之后升级的2.4.0直接可以修改组件的Brake,貌似就可以了。

目前引擎内置的CCScrollView.js没有属性或者方法直接设置列表的滑动速度。

CCScrollView.js路径:引擎安装路径/resources/engine/cocos2d/core/components;


1598410039(1).jpg

打开引擎该脚本之后,里面有个_handleMoveLogic方法是控制列表滑动速度的;

    _handleMoveLogic (touch) {
        let deltaMove = touch.getDelta();
        this._processDeltaMove(deltaMove);
    },

所以我们在此基础上修改引擎代码如下:
1、新建脚本:
UIScrollview.js(可以随意起名字)
2、脚本代码如下:

/**
 * 列表的滑动速度修改脚本
 */
cc.Class({
    //继承列表组件的脚本
    extends: cc.ScrollView,

    properties: {
        //自定义速率
        scrollSpeed: {
            default: 0.2,
            type: cc.Float
        },
    },

    _handleMoveLogic (touch) {
        let that = this;
        let deltaMove = touch.getDelta();
        //给默认的移动速度×自定义速率
        that._processDeltaMove(deltaMove.mul(this.scrollSpeed));
    }
});

3、将项目里的需要修改滑动速度的节点的Scrollview组件删除,手动添加自定义组件UIScrollview如下图;


1598410744(1).jpg

打开自定义组件之后可发现,组件多了一个属性可以修改,该属性就是自定义速率,手动修改即可;


1598410762(1).jpg

之后运行项目就会发现,列表不管是触摸阶段的滑动还是触摸结束之后的滑动,速度都是修改后的。

如有问题,请多指教。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容