Compare commits

...

2 Commits

Author SHA1 Message Date
TJH
273273a10e 掉落时逻辑修改
All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m12s
2025-12-25 17:43:17 +08:00
TJH
04c603b294 已知问题修改 2025-12-25 15:25:44 +08:00
9 changed files with 44 additions and 20 deletions

View File

@ -14219,7 +14219,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 540, "x": 540,
"y": -882, "y": -880,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@ -14396,7 +14396,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 12, "width": 12,
"height": 1764 "height": 1760
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",

View File

@ -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)
} }
} }

View File

@ -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() {

View File

@ -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;
} }

View File

@ -28,7 +28,7 @@ export class FreeSpinAdd extends Component {
this.freeSpinEnterTitleSp = titleNode.getChildByName('SpriteFREESPINWON').getComponent(Sprite); this.freeSpinEnterTitleSp = titleNode.getChildByName('SpriteFREESPINWON').getComponent(Sprite);
this.freeCount = freeCount; this.freeCount = freeCount;
this.freeCountLabel.string = `${freeCount}`; this.freeCountLabel.string = `+ ${freeCount}`;
this.node.addChild(this.freeSpinAddUI); this.node.addChild(this.freeSpinAddUI);
this.playAnimation(); this.playAnimation();
this.closeCallBack = closeCallBack; this.closeCallBack = closeCallBack;

View File

@ -103,9 +103,11 @@ export class HistoryDetail extends Component {
const content = this.list_round_winning.content const content = this.list_round_winning.content
content.destroyAllChildren() content.destroyAllChildren()
const currencySymbol = this.data.currencySymbol const currencySymbol = this.data.currencySymbol
const yellowColor = new Color(0xFF, 0xAE, 0x00) const yellowColor = new Color(0xFF, 0xAE, 0x00)
const closeLabel = this.list_round_winning.node.getChildByPath('btn_close/Label').getComponent(Label)
closeLabel.string = getTranslate(this.dict, "Close")
scoreInfos.forEach((v, i) => { scoreInfos.forEach((v, i) => {
const item = instantiate(this.item_round_winning) const item = instantiate(this.item_round_winning)
const txt_round = item.getChildByName("txt_round").getComponent(Label) const txt_round = item.getChildByName("txt_round").getComponent(Label)
@ -165,7 +167,7 @@ export class HistoryDetail extends Component {
if (findIndex == 0) { if (findIndex == 0) {
txt_spin.string = getTranslate(this.dict, "Normal Spin") txt_spin.string = getTranslate(this.dict, "Normal Spin")
} else { } else {
txt_spin.string = getTranslate(this.dict, "Free Spin:") + `${findIndex}/${maxIdx}` txt_spin.string = getTranslate(this.dict, "Free Spin") + `${findIndex}/${maxIdx}`
} }
const yellowColor = new Color(0xFF, 0xAE, 0x00) const yellowColor = new Color(0xFF, 0xAE, 0x00)

View File

@ -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); // 添加一点额外时间确保所有动画完成
} }

View File

@ -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)
}) })

View File

@ -32,7 +32,7 @@ export function getHistoryUrl() {
} }
export function getLanguage() { export function getLanguage() {
// return 'zh'; return 'zh';
return language; return language;
} }