掉落时逻辑修改
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m12s
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m12s
This commit is contained in:
parent
04c603b294
commit
273273a10e
@ -562,19 +562,27 @@ export class SlotGame extends Component {
|
|||||||
this.rollerManager.createNewIconTop(createDatas, CroSymbols);
|
this.rollerManager.createNewIconTop(createDatas, CroSymbols);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// iconFallDown_Pan() {
|
||||||
|
// this.rollerManager.iconFallDown(this.spinData, true);
|
||||||
|
// }
|
||||||
// icon掉落的逻辑
|
// icon掉落的逻辑
|
||||||
iconFallDown() {
|
iconFallDown_PanOut() {
|
||||||
|
//pan内的块先掉落
|
||||||
|
|
||||||
//消除掉落时已有三个scatter,触发延时一会儿,以及心跳声
|
//消除掉落时已有三个scatter,触发延时一会儿,以及心跳声
|
||||||
if (this.rollerManager.checkNextRollerExpect(6, 3)) {
|
if (this.rollerManager.checkNextRollerExpect(6, 3)) {
|
||||||
AudioManager.instance.playSFX('Appear_Scatter_Sound_elimin', 1, true)
|
AudioManager.instance.playSFX('Appear_Scatter_Sound_elimin', 1, true)
|
||||||
|
this.rollerManager.iconFallDown(this.spinData, true);
|
||||||
this.scheduleOnce(() => {
|
this.scheduleOnce(() => {
|
||||||
AudioManager.instance.stopAllSFX()
|
AudioManager.instance.stopAllSFX()
|
||||||
this.setWaysCount(this.spinData.Symbol.WaysNum);
|
this.setWaysCount(this.spinData.Symbol.WaysNum);
|
||||||
this.rollerManager.iconFallDown(this.spinData);
|
this.rollerManager.iconFallDown(this.spinData, false);
|
||||||
}, 2)
|
}, 2.5)
|
||||||
} else {
|
} else {
|
||||||
this.setWaysCount(this.spinData.Symbol.WaysNum);
|
this.scheduleOnce(() => {
|
||||||
this.rollerManager.iconFallDown(this.spinData);
|
this.setWaysCount(this.spinData.Symbol.WaysNum);
|
||||||
|
this.rollerManager.iconFallDown(this.spinData, false);
|
||||||
|
}, 0.5)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -581,11 +581,15 @@ export class SlotScene extends Component {
|
|||||||
this.slotGame.getNewMulti(this.gameState.isInFreeSpin, this.spinData.WinInfo.MultPos)
|
this.slotGame.getNewMulti(this.gameState.isInFreeSpin, this.spinData.WinInfo.MultPos)
|
||||||
|
|
||||||
// 处理数据
|
// 处理数据
|
||||||
|
|
||||||
this.spinData = this.spinInfo.Data;
|
this.spinData = this.spinInfo.Data;
|
||||||
// 改变图标框和图标
|
// 改变图标框和图标
|
||||||
this.slotGame.changeIconAndFrameType(this.spinData);
|
this.slotGame.changeIconAndFrameType(this.spinData);
|
||||||
|
|
||||||
// 创建新图标
|
// 创建新图标
|
||||||
this.slotGame.createNewIconTop(this.spinData);
|
this.slotGame.createNewIconTop(this.spinData);
|
||||||
|
// this.slotGame.iconFallDown_Pan();
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.isErr = true
|
this.isErr = true
|
||||||
let errCode = parseInt(error.message.split("#")[0]);
|
let errCode = parseInt(error.message.split("#")[0]);
|
||||||
@ -609,10 +613,7 @@ export class SlotScene extends Component {
|
|||||||
|
|
||||||
onIconsCreated() {
|
onIconsCreated() {
|
||||||
// let delay = (this.spinData.WinInfo && this.spinData.WinInfo.MultPos) ? 1 : 0
|
// let delay = (this.spinData.WinInfo && this.spinData.WinInfo.MultPos) ? 1 : 0
|
||||||
this.scheduleOnce(() => {
|
this.slotGame.iconFallDown_PanOut();
|
||||||
this.slotGame.iconFallDown();
|
|
||||||
|
|
||||||
}, 0.5)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onIconsFallen() {
|
onIconsFallen() {
|
||||||
|
|||||||
@ -653,5 +653,5 @@ export abstract class BaseRoller extends Component {
|
|||||||
|
|
||||||
abstract createNewIconTop(createDatas: number[][], CroSymbols: any): void;
|
abstract createNewIconTop(createDatas: number[][], CroSymbols: any): void;
|
||||||
|
|
||||||
abstract iconFallDown(data: number[], CroSymbols: any): void;
|
abstract iconFallDown(data: number[], CroSymbols: any, inPan: boolean): void;
|
||||||
}
|
}
|
||||||
@ -811,7 +811,7 @@ export class Roller extends BaseRoller {
|
|||||||
|
|
||||||
|
|
||||||
/** icon进行掉落移动 */
|
/** icon进行掉落移动 */
|
||||||
iconFallDown(data: number[], CroSymbols: any) {
|
iconFallDown(data: number[], CroSymbols: any, inPan: boolean) {
|
||||||
let updates = [];
|
let updates = [];
|
||||||
let sortNewIconStartPos = this.getNewIconsStartPos(data, CroSymbols);
|
let sortNewIconStartPos = this.getNewIconsStartPos(data, CroSymbols);
|
||||||
let sortIcons = this.getSortIcons();
|
let sortIcons = this.getSortIcons();
|
||||||
@ -819,7 +819,17 @@ export class Roller extends BaseRoller {
|
|||||||
let newStartPos = sortNewIconStartPos[i];
|
let newStartPos = sortNewIconStartPos[i];
|
||||||
let oldIcon = sortIcons[i];
|
let oldIcon = sortIcons[i];
|
||||||
let oldIconStartPos = oldIcon.startPos;
|
let oldIconStartPos = oldIcon.startPos;
|
||||||
|
if (inPan) {
|
||||||
|
if (oldIconStartPos < 0) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// else {
|
||||||
|
// if (oldIconStartPos >= 0) {
|
||||||
|
// continue
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
if (oldIconStartPos === newStartPos) {
|
if (oldIconStartPos === newStartPos) {
|
||||||
continue;
|
continue;
|
||||||
@ -891,7 +901,10 @@ export class Roller extends BaseRoller {
|
|||||||
|
|
||||||
// 在所有图标都完成掉落后触发事件
|
// 在所有图标都完成掉落后触发事件
|
||||||
this.scheduleOnce(() => {
|
this.scheduleOnce(() => {
|
||||||
this.node.emit(ROLLER_EVENT.ICON_FALLEN, this._rollerId);
|
if (!inPan) {
|
||||||
|
this.node.emit(ROLLER_EVENT.ICON_FALLEN, this._rollerId);
|
||||||
|
|
||||||
|
}
|
||||||
}, totalFallTime + 0.1); // 添加一点额外时间确保所有动画完成
|
}, totalFallTime + 0.1); // 添加一点额外时间确保所有动画完成
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -769,7 +769,7 @@ export class RollerManager extends Component {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
iconFallDown(data: GameData) {
|
iconFallDown(data: GameData, inPan: boolean) {
|
||||||
this._spinData = data;
|
this._spinData = data;
|
||||||
this._resultStopData = [];
|
this._resultStopData = [];
|
||||||
this._fallenRollerCount = 0; // 重置计数器
|
this._fallenRollerCount = 0; // 重置计数器
|
||||||
@ -785,7 +785,7 @@ export class RollerManager extends Component {
|
|||||||
let rollerCroSymbols = processedCroSymbols[index];
|
let rollerCroSymbols = processedCroSymbols[index];
|
||||||
roller.setCroSymbols(rollerCroSymbols);
|
roller.setCroSymbols(rollerCroSymbols);
|
||||||
this.scheduleOnce(() => {
|
this.scheduleOnce(() => {
|
||||||
roller.iconFallDown(stopData, rollerCroSymbols)
|
roller.iconFallDown(stopData, rollerCroSymbols,inPan)
|
||||||
}, 0.03 * index)
|
}, 0.03 * index)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user