由于cocos creator 在pc端 使用scrollview 滑鼠滾動速度太慢
原文地址 CocosCreator串列滑動速度的修改 - 簡書CocosCreator串列滑動速度的修改 - 簡書引擎版本:2.2.2,之后升級的2.4.0直接可以修改組件的Brake,貌似就可以了, 目前引擎內置的CCScrollView.js沒有屬性或者方法直接設定串列的滑動速度, ...https://www.jianshu.com/p/cb7ec469f810
這里 cocos creator 2.4.4
目前引擎內置的CCScrollView.js沒有屬性或者方法直接設定串列的滑動速度,
CCScrollView.js路徑:引擎安裝路徑/resources/engine/cocos2d/core/components;
打開引擎該腳本之后,里面有個_handleMoveLogic方法是控制串列滑動速度的;
// 拖動和滑鼠滾動都執行的
_processDeltaMove (deltaMove) {
this._scrollChildren(deltaMove);
this._gatherTouchMove(deltaMove);
},
// 拖動
_handleMoveLogic (touch) {
let deltaMove = this._getLocalAxisAlignDelta(touch);
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.div(this.scrollSpeed));// 拖動不用加速,這里先除以
},
// 拖動和滑鼠滾動 都走這里
_processDeltaMove (deltaMove) {
//給默認的移動速度×自定義速率
let that = this;
that._scrollChildren(deltaMove.mul(this.scrollSpeed));
that._gatherTouchMove(deltaMove.mul(this.scrollSpeed));
},
});
3、將專案里的需要修改滑動速度的節點的Scrollview組件洗掉,手動添加自定義組件UIScrollview;
打開自定義組件之后可發現,組件多了一個屬性可以修改,該屬性就是自定義速率,手動修改即可;

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/336602.html
標籤:其他
上一篇:Unity3d SECTR 2019 從零開始了解(末):活學活用
下一篇:Unity流體效果
