Modificación de la velocidad de deslizamiento de la vista de desplazamiento de la lista de CocosCreator, modificación de la velocidad de desplazamiento del mouse

Debido a que el creador de cocos usa la vista de desplazamiento en el lado de la PC, la velocidad de desplazamiento del mouse es demasiado lenta

La dirección original  CocosCreator enumera la modificación de la velocidad de deslizamiento - Jianshu CocosCreator enumera la modificación de la velocidad de deslizamiento - Jianshu motor versión: 2.2.2, después de la actualización 2.4.0 puede modificar directamente el freno del componente, parece estar bien. Actualmente, CCScrollView.js integrado en el motor no tiene propiedades ni métodos para establecer directamente la velocidad de deslizamiento de la lista. ... https://www.jianshu.com/p/cb7ec469f810

Aquí cocos creador 2.4.4

Actualmente, CCScrollView.js integrado en el motor no tiene propiedades ni métodos para establecer directamente la velocidad de deslizamiento de la lista.

CCScrollView.js ruta: ruta de instalación del motor /resources/engine/cocos2d/core/components;

Después de abrir el script del motor, hay un método _handleMoveLogic para controlar la velocidad de deslizamiento de la lista;

// 拖动和鼠标滚动都执行的 
_processDeltaMove (deltaMove) {
        this._scrollChildren(deltaMove);
        this._gatherTouchMove(deltaMove);
    },

// 拖动
    _handleMoveLogic (touch) {
        let deltaMove = this._getLocalAxisAlignDelta(touch);
        this._processDeltaMove(deltaMove);
    },

Así que modificamos el código del motor sobre esta base de la siguiente manera:
1. Cree un nuevo script:
UIScrollview.js (puede nombrarlo a voluntad)
2. El código del script es el siguiente:

/**
 * 列表的滑动速度修改脚本
 */
 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.div(this.scrollSpeed));// 拖动不用加速,这里先除以
    },
    // 拖动和鼠标滚动 都走这里
    _processDeltaMove (deltaMove) {
        //给默认的移动速度×自定义速率
        let that = this;
        that._scrollChildren(deltaMove.mul(this.scrollSpeed));
        that._gatherTouchMove(deltaMove.mul(this.scrollSpeed));
    },

});

3. Elimine el componente Scrollview del nodo que necesita modificar la velocidad de deslizamiento en el proyecto y agregue manualmente el componente personalizado UIScrollview;

Después de abrir el componente personalizado, se puede encontrar que hay un atributo adicional del componente que se puede modificar.Este atributo es la tarifa personalizada, que se puede modificar manualmente;



 

Supongo que te gusta

Origin blog.csdn.net/github_38633141/article/details/120550566
Recomendado
Clasificación