滚动节奏调整
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m9s
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m9s
This commit is contained in:
parent
5b25f3b84b
commit
b6849b164c
@ -1884,8 +1884,8 @@
|
|||||||
},
|
},
|
||||||
"_contentSize": {
|
"_contentSize": {
|
||||||
"__type__": "cc.Size",
|
"__type__": "cc.Size",
|
||||||
"width": 900,
|
"width": 639,
|
||||||
"height": 250
|
"height": 175
|
||||||
},
|
},
|
||||||
"_anchorPoint": {
|
"_anchorPoint": {
|
||||||
"__type__": "cc.Vec2",
|
"__type__": "cc.Vec2",
|
||||||
@ -1921,12 +1921,12 @@
|
|||||||
"a": 255
|
"a": 255
|
||||||
},
|
},
|
||||||
"_spriteFrame": {
|
"_spriteFrame": {
|
||||||
"__uuid__": "b321b675-c45c-4ee3-9fb3-1f21d73c380b@f9941",
|
"__uuid__": "a791e7f5-4c59-4365-84ad-ba6f8233341c@f9941",
|
||||||
"__expectedType__": "cc.SpriteFrame"
|
"__expectedType__": "cc.SpriteFrame"
|
||||||
},
|
},
|
||||||
"_type": 0,
|
"_type": 0,
|
||||||
"_fillType": 0,
|
"_fillType": 0,
|
||||||
"_sizeMode": 0,
|
"_sizeMode": 1,
|
||||||
"_fillCenter": {
|
"_fillCenter": {
|
||||||
"__type__": "cc.Vec2",
|
"__type__": "cc.Vec2",
|
||||||
"x": 0,
|
"x": 0,
|
||||||
|
|||||||
@ -340,15 +340,15 @@ export abstract class BaseRoller extends Component {
|
|||||||
getInitialSpeedData(): number[][] {
|
getInitialSpeedData(): number[][] {
|
||||||
return this._info.isFastSpin ?
|
return this._info.isFastSpin ?
|
||||||
[
|
[
|
||||||
[0.1, -1000],
|
[0.05, -1000],
|
||||||
// [0.1, 0],
|
[0.1, 0],
|
||||||
[0, 4000]
|
[0.05, 6000]
|
||||||
] :
|
] :
|
||||||
[
|
[
|
||||||
[0.05 * this._rollerId, 0],
|
[0.05 * this._rollerId, 0],
|
||||||
// [0.1, -1000],
|
// [0.1, -1000],
|
||||||
[0.1, 0],
|
[0.1, 0],
|
||||||
[0.1, 4000]
|
[0.1, 5000]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,33 +356,34 @@ export abstract class BaseRoller extends Component {
|
|||||||
/**
|
/**
|
||||||
* 开始滚动
|
* 开始滚动
|
||||||
*/
|
*/
|
||||||
startScroll() {
|
// startScroll() {
|
||||||
if (this._info.state != ROLLER_STATE.STOP) {
|
// if (this._info.state != ROLLER_STATE.STOP) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 收集现有图标
|
// // 收集现有图标
|
||||||
this.collectExistingIcons();
|
// this.collectExistingIcons();
|
||||||
|
|
||||||
// 设置速度数据
|
// // 设置速度数据
|
||||||
let speedData = this.getInitialSpeedData();
|
// let speedData = this.getInitialSpeedData();
|
||||||
|
|
||||||
// 开始加速
|
// // 开始加速
|
||||||
this.changeState(ROLLER_STATE.ACCELERATE);
|
// this.changeState(ROLLER_STATE.ACCELERATE);
|
||||||
this.tweenSpeed(speedData, () => {
|
// this.tweenSpeed(speedData, () => {
|
||||||
// 进入匀速阶段
|
// // 进入匀速阶段
|
||||||
let uniformSpeedData = this._info.isFastSpin ? [[0]] : [[0.3]];
|
// let uniformSpeedData = this._info.isFastSpin ? [[0]] : [[0.6]];
|
||||||
this.changeState(ROLLER_STATE.UNIFORM);
|
// this.changeState(ROLLER_STATE.UNIFORM);
|
||||||
|
|
||||||
this.tweenSpeed(uniformSpeedData, () => {
|
// this.tweenSpeed(uniformSpeedData, () => {
|
||||||
this._info.speedDataComplete = true;
|
// this._info.speedDataComplete = true;
|
||||||
let stopSpeedData = this._info.isFastSpin ? [[0, 6000]] : [[0.1, 3500]];
|
// let rollerSpeed = this.row * this.iconHeight / 0.1 * 175;
|
||||||
if (this._info.receiveStopData) {
|
// let stopSpeedData = this._info.isFastSpin ? [[0, rollerSpeed]] : [[0.4, 5500]];
|
||||||
this.stopScrollWork(stopSpeedData);
|
// if (this._info.receiveStopData) {
|
||||||
}
|
// this.stopScrollWork(stopSpeedData);
|
||||||
});
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 停止滚动
|
* 停止滚动
|
||||||
|
|||||||
@ -195,6 +195,37 @@ export class Roller extends BaseRoller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
startScroll() {
|
||||||
|
if (this._info.state != ROLLER_STATE.STOP) return;
|
||||||
|
|
||||||
|
this.collectExistingIcons();
|
||||||
|
let speedData = this.getInitialSpeedData();
|
||||||
|
|
||||||
|
this.changeState(ROLLER_STATE.ACCELERATE);
|
||||||
|
this.tweenSpeed(speedData, () => {
|
||||||
|
let uniformSpeedData = this._info.isFastSpin ? [[0]] : [[0.6]];
|
||||||
|
this.changeState(ROLLER_STATE.UNIFORM);
|
||||||
|
|
||||||
|
if (this._info.isManualStop) {
|
||||||
|
this._info.speedDataComplete = true;
|
||||||
|
let stopSpeedData = this._info.isFastSpin ? [[0, 15000]] : [[0.3, 15000]];
|
||||||
|
if (this._info.receiveStopData) {
|
||||||
|
this.stopScrollWork(stopSpeedData);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.tweenSpeed(uniformSpeedData, () => {
|
||||||
|
this._info.speedDataComplete = true;
|
||||||
|
let rollerSpeed = this.row * this.iconHeight / 0.1 * 175;
|
||||||
|
let stopSpeedData = this._info.isFastSpin ? [[0, rollerSpeed]] : [[0.4, 5500]];
|
||||||
|
if (this._info.receiveStopData) {
|
||||||
|
this.stopScrollWork(stopSpeedData);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 手动停止滚动
|
* 手动停止滚动
|
||||||
* @param data 停止时的图标数据
|
* @param data 停止时的图标数据
|
||||||
|
|||||||
@ -6,6 +6,19 @@ import { AudioManager } from '../../../Loading/scripts/manager/AudioManager';
|
|||||||
import { BaseRoller } from './BaseRoller';
|
import { BaseRoller } from './BaseRoller';
|
||||||
let { ccclass, property, executeInEditMode } = _decorator;
|
let { ccclass, property, executeInEditMode } = _decorator;
|
||||||
|
|
||||||
|
// 帧到启动ID映射(按帧序)
|
||||||
|
let frameOrder = [
|
||||||
|
{ frame: 1, ids: [5] },
|
||||||
|
{ frame: 3, ids: [0] },
|
||||||
|
{ frame: 9, ids: [1, 6] },
|
||||||
|
{ frame: 14, ids: [2, 7] },
|
||||||
|
{ frame: 20, ids: [3] },
|
||||||
|
{ frame: 22, ids: [8] },
|
||||||
|
{ frame: 27, ids: [4] },
|
||||||
|
];
|
||||||
|
|
||||||
|
let fps = 60;
|
||||||
|
|
||||||
@ccclass('RollerManager')
|
@ccclass('RollerManager')
|
||||||
@executeInEditMode
|
@executeInEditMode
|
||||||
export class RollerManager extends Component {
|
export class RollerManager extends Component {
|
||||||
@ -33,7 +46,7 @@ export class RollerManager extends Component {
|
|||||||
// 竖向滚轮数组
|
// 竖向滚轮数组
|
||||||
vRollers: Roller[] = [];
|
vRollers: Roller[] = [];
|
||||||
// 滚轮数组
|
// 滚轮数组
|
||||||
allRollers: BaseRoller[] = [];
|
allRollers: Roller[] = [];
|
||||||
// 是否快速旋转
|
// 是否快速旋转
|
||||||
_isFastSpin: boolean = false;
|
_isFastSpin: boolean = false;
|
||||||
// 是否手动停止
|
// 是否手动停止
|
||||||
@ -486,11 +499,30 @@ export class RollerManager extends Component {
|
|||||||
|
|
||||||
// 滚轮开始滚动
|
// 滚轮开始滚动
|
||||||
startScroll() {
|
startScroll() {
|
||||||
this.scatterPos = [];
|
|
||||||
this._isManualStop = false;
|
this._isManualStop = false;
|
||||||
this.allRollers.forEach(roller => {
|
this.unscheduleAllCallbacks();
|
||||||
roller.startScroll();
|
if (this._isFastSpin) {
|
||||||
})
|
for (let i = 0; i < this.allRollers.length; i++) {
|
||||||
|
let roller = this.allRollers[i];
|
||||||
|
if (roller) {
|
||||||
|
if (this._isManualStop) return;
|
||||||
|
roller.startScroll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
frameOrder.forEach(({ frame, ids }) => {
|
||||||
|
let delay = Math.max(0, (frame - 1) / fps);
|
||||||
|
ids.forEach(id => {
|
||||||
|
let roller = this.allRollers[id];
|
||||||
|
if (roller) {
|
||||||
|
this.scheduleOnce(() => {
|
||||||
|
if (this._isManualStop) return;
|
||||||
|
roller.startScroll();
|
||||||
|
}, delay);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 滚轮停止滚动
|
// 滚轮停止滚动
|
||||||
|
|||||||
@ -7,7 +7,7 @@ import { PREVIEW } from "cc/env"
|
|||||||
const gameId = "rp_11001";
|
const gameId = "rp_11001";
|
||||||
// let apiaddr = "https://rpgames-api.rpfafafahkdev.com";
|
// let apiaddr = "https://rpgames-api.rpfafafahkdev.com";
|
||||||
let apiaddr = "";
|
let apiaddr = "";
|
||||||
let token = "eyJQIjoxMDA5NDksIkUiOjE3NjY3NTY5ODcsIlMiOjEwMDAsIkQiOiJycF8xMTAwMSJ9.P7fLsOvGnv9823PYrOrQKkio4A90CDDl-F46IJTS78I";
|
let token = "eyJQIjoxMDA5NDksIkUiOjE3NjcwMTU2MDMsIlMiOjEwMDAsIkQiOiJycF8xMTAwMSJ9.ZFVTUEx8b15hwZk9wW3bJxKMkpA3IUlwbgYH5uY-uhA";
|
||||||
|
|
||||||
|
|
||||||
let language = "en"
|
let language = "en"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user