免费模式UI及基本的滚动

This commit is contained in:
TJH 2026-04-08 14:50:09 +08:00
parent ecbcae6556
commit ebfb3115c1
12 changed files with 4294 additions and 3692 deletions

View File

@ -1487,7 +1487,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 1919.9999999999998 "height": 1920
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -1564,7 +1564,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 1919.9999999999998 "height": 1920
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",

View File

@ -856,7 +856,7 @@
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 1080, "width": 1080,
"height": 1919.9999999999998 "height": 1920
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",

View File

@ -147,7 +147,7 @@
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 0, "x": 0,
"y": 0, "y": 12.286,
"z": 0 "z": 0
}, },
"_lrot": { "_lrot": {
@ -159,8 +159,8 @@
}, },
"_lscale": { "_lscale": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 1, "x": 0.9,
"y": 1, "y": 0.9,
"z": 1 "z": 1
}, },
"_mobility": 0, "_mobility": 0,
@ -898,6 +898,8 @@
"spineNode": { "spineNode": {
"__id__": 26 "__id__": 26
}, },
"multiSpriteFrames": [],
"blurMultiSpriteFrames": [],
"_id": "" "_id": ""
}, },
{ {

View File

@ -26,19 +26,22 @@
}, },
{ {
"__id__": 26 "__id__": 26
},
{
"__id__": 36
} }
], ],
"_active": true, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 36 "__id__": 42
}, },
{ {
"__id__": 38 "__id__": 44
} }
], ],
"_prefab": { "_prefab": {
"__id__": 40 "__id__": 46
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
@ -187,8 +190,8 @@
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
"width": 148, "width": 157,
"height": 140 "height": 147
}, },
"_anchorPoint": { "_anchorPoint": {
"__type__": "cc.Vec2", "__type__": "cc.Vec2",
@ -224,7 +227,7 @@
"a": 255 "a": 255
}, },
"_spriteFrame": { "_spriteFrame": {
"__uuid__": "41856c4f-db7d-41ef-bd58-cd9c9987baee@f9941", "__uuid__": "bd6184d6-9c3d-4ed5-9f75-9fb95924a2c6@f9941",
"__expectedType__": "cc.SpriteFrame" "__expectedType__": "cc.SpriteFrame"
}, },
"_type": 0, "_type": 0,
@ -849,6 +852,168 @@
"targetOverrides": null, "targetOverrides": null,
"nestedPrefabInstanceRoots": null "nestedPrefabInstanceRoots": null
}, },
{
"__type__": "cc.Node",
"_name": "multi",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 37
},
{
"__id__": 39
}
],
"_prefab": {
"__id__": 41
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 1073741824,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 36
},
"_enabled": true,
"__prefab": {
"__id__": 38
},
"_contentSize": {
"__type__": "cc.Size",
"width": 133.16,
"height": 40
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "84HpDue1hAT6Qvy3p4pQr1"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 36
},
"_enabled": true,
"__prefab": {
"__id__": 40
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "1000x",
"_horizontalAlign": 1,
"_verticalAlign": 1,
"_actualFontSize": 40,
"_fontSize": 40,
"_fontFamily": "Arial",
"_lineHeight": 40,
"_overflow": 0,
"_enableWrapText": true,
"_font": {
"__uuid__": "b72a4cdc-86ec-46dc-b312-8a1e77c68632",
"__expectedType__": "cc.BitmapFont"
},
"_isSystemFontUsed": false,
"_spacingX": 0,
"_isItalic": false,
"_isBold": false,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_enableOutline": false,
"_outlineColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_outlineWidth": 2,
"_enableShadow": false,
"_shadowColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_shadowOffset": {
"__type__": "cc.Vec2",
"x": 2,
"y": 2
},
"_shadowBlur": 2,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "1408zhdupIw46e7T15V1Bg"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "2ckuXGlihE2KzGBZ+WJJLM",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{ {
"__type__": "cc.UITransform", "__type__": "cc.UITransform",
"_name": "", "_name": "",
@ -859,7 +1024,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 37 "__id__": 43
}, },
"_contentSize": { "_contentSize": {
"__type__": "cc.Size", "__type__": "cc.Size",
@ -887,7 +1052,7 @@
}, },
"_enabled": true, "_enabled": true,
"__prefab": { "__prefab": {
"__id__": 39 "__id__": 45
}, },
"normalNode": { "normalNode": {
"__id__": 2 "__id__": 2
@ -898,11 +1063,55 @@
"spineNode": { "spineNode": {
"__id__": 26 "__id__": 26
}, },
"multiSpriteFrames": [
{
"__uuid__": "41856c4f-db7d-41ef-bd58-cd9c9987baee@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "6ca1aab1-4dbf-429e-99fc-4f362c6661a4@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "3e1b43f0-97ef-434f-8da1-d74fba17b421@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "8c21911c-a274-4a57-9275-a8f3da1a3675@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "bd6184d6-9c3d-4ed5-9f75-9fb95924a2c6@f9941",
"__expectedType__": "cc.SpriteFrame"
}
],
"blurMultiSpriteFrames": [
{
"__uuid__": "20c7b8b7-03c3-46c3-a36e-c6c9e6ae413b@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "3859a3ef-632b-48eb-852a-1c92f41fef1e@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "d956960c-b05d-4a78-8d42-d382a1c1f928@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "855545d4-61b4-4faa-8ca8-1077d6e254c6@f9941",
"__expectedType__": "cc.SpriteFrame"
},
{
"__uuid__": "ae256cb6-bd27-4c44-ac00-188d99a9a334@f9941",
"__expectedType__": "cc.SpriteFrame"
}
],
"_id": "" "_id": ""
}, },
{ {
"__type__": "cc.CompPrefabInfo", "__type__": "cc.CompPrefabInfo",
"fileId": "c16WOtl2BJ8ZbnqIeJtky2" "fileId": "71kkJ4sfRB8pjig2AKkOCH"
}, },
{ {
"__type__": "cc.PrefabInfo", "__type__": "cc.PrefabInfo",

View File

@ -898,6 +898,8 @@
"spineNode": { "spineNode": {
"__id__": 26 "__id__": 26
}, },
"multiSpriteFrames": [],
"blurMultiSpriteFrames": [],
"_id": "" "_id": ""
}, },
{ {

View File

@ -2747,7 +2747,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": 200, "x": 220,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },
@ -2942,7 +2942,7 @@
"__id__": 216 "__id__": 216
} }
], ],
"_active": false, "_active": true,
"_components": [ "_components": [
{ {
"__id__": 224 "__id__": 224
@ -5329,7 +5329,7 @@
}, },
"_lpos": { "_lpos": {
"__type__": "cc.Vec3", "__type__": "cc.Vec3",
"x": -200, "x": -233.353,
"y": 0, "y": 0,
"z": 0 "z": 0
}, },

View File

@ -46,6 +46,7 @@ export interface IParsedGameData {
HasScatterExpect: boolean; HasScatterExpect: boolean;
ScatterPos: number[]; ScatterPos: number[];
BombPos: number[]; BombPos: number[];
MulInfo: any[];
hasSmallGame: boolean; hasSmallGame: boolean;
hasFreeSpinAgain: boolean; hasFreeSpinAgain: boolean;
} }
@ -65,17 +66,17 @@ export let ICON_SERVER_MAP = {
} }
export let ICON_MAP = { export let ICON_MAP = {
0: "马里奥", 0: "scatter",
1: "公主", 1: "神灯",
2: "食人花", 2: "魔毯",
3: "飞天蘑菇", 3: "",
4: "苹果", 4: "戒指",
5: "娃娃", 5: "项链",
6: "子", 6: "子",
7: "向日葵", 7: "金币",
8: "乌龟", 8: "银币",
9: "黄色娃娃", 9: "铜币",
10: "倍率炸弹", 10: "倍率",
} }
export let ICON_RATE_NUM1 = [12, 10, 8]; export let ICON_RATE_NUM1 = [12, 10, 8];

View File

@ -25,7 +25,7 @@ export class FreeSpinAgain extends Component {
this.hasClickBtn = false; this.hasClickBtn = false;
Tween.stopAllByTarget(this.mainNode); Tween.stopAllByTarget(this.mainNode);
Tween.stopAllByTarget(opacity); Tween.stopAllByTarget(opacity);
this.freeSpinCount.string = '5'; this.freeSpinCount.string = '+5';
opacity.opacity = 0; opacity.opacity = 0;
tween(opacity) tween(opacity)

View File

@ -25,6 +25,11 @@ export class Icon extends Component {
@property(Node) @property(Node)
spineNode: Node = null; spineNode: Node = null;
@property([SpriteFrame])
multiSpriteFrames: SpriteFrame[] = [];
@property([SpriteFrame])
blurMultiSpriteFrames: SpriteFrame[] = [];
private iconId: number = 99; private iconId: number = 99;
private lheight: number = 1; private lheight: number = 1;
private rollerId: number = 0; private rollerId: number = 0;
@ -32,8 +37,9 @@ export class Icon extends Component {
private isFastMode: boolean = false; private isFastMode: boolean = false;
private isWild: boolean = false; private isWild: boolean = false;
private isScatter: boolean = false; private isScatter: boolean = false;
private isMulti: boolean = false;
set index(id: number) { this.iconId = id; this.isWild = id === 0; this.isScatter = id === 1; } set index(id: number) { this.iconId = id; this.isWild = id === 0; this.isScatter = id === 1; this.isMulti = id === 12 }
get index(): number { return this.iconId } get index(): number { return this.iconId }
get isWildOrScatter(): boolean { get isWildOrScatter(): boolean {
@ -108,7 +114,7 @@ export class Icon extends Component {
let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton); let spine = this.spineNode.getChildByName('spine').getComponent(sp.Skeleton);
if (spine && this.checkHasAnimation(spine, 'tan')) { if (spine && this.checkHasAnimation(spine, 'tan')) {
this.normalNode.active = false // this.normalNode.active = false
this.spineNode.active = true; this.spineNode.active = true;
spine.setAnimation(0, 'tan', isLoop); spine.setAnimation(0, 'tan', isLoop);
@ -139,7 +145,7 @@ export class Icon extends Component {
if (this.iconId == 1) { if (this.iconId == 1) {
if (spine && this.checkHasAnimation(spine, 'dengdai')) { if (spine && this.checkHasAnimation(spine, 'dengdai')) {
if (bol) { if (bol) {
this.normalNode.active = false; // this.normalNode.active = false;
this.spineNode.active = true; this.spineNode.active = true;
spine.setAnimation(0, 'dengdai', true); spine.setAnimation(0, 'dengdai', true);
} else { } else {
@ -154,7 +160,7 @@ export class Icon extends Component {
if (spine && this.checkHasAnimation(spine, 'xiaoshi')) { // 10帧 icon消失 23帧 全部消失 if (spine && this.checkHasAnimation(spine, 'xiaoshi')) { // 10帧 icon消失 23帧 全部消失
spine.setCompleteListener(null); spine.setCompleteListener(null);
this.normalNode.active = false; // this.normalNode.active = false;
this.spineNode.active = true; this.spineNode.active = true;
spine.setAnimation(0, 'xiaoshi', false); spine.setAnimation(0, 'xiaoshi', false);
spine.setCompleteListener(() => { spine.setCompleteListener(() => {
@ -192,7 +198,7 @@ export class Icon extends Component {
} }
async onClickIconNode() { async onClickIconNode() {
if (GameDataManager.instance.canClickIconMsg) { if (GameDataManager.instance.canClickIconMsg && this.index != 10) {
AudioManager.instance.playSFX('Click_Icon'); AudioManager.instance.playSFX('Click_Icon');
let iconMsg = await NodePoolManager.instance.getNodeFromPoolDynamic('IconMsg', 'Prefab/Others/IconMsg', 'Game'); let iconMsg = await NodePoolManager.instance.getNodeFromPoolDynamic('IconMsg', 'Prefab/Others/IconMsg', 'Game');
let gameNode = find('Canvas/main/game'); let gameNode = find('Canvas/main/game');

View File

@ -253,7 +253,7 @@ export class SlotGame extends Component {
this.upLayer.giveBackAllSpecials(this.rollerManager); this.upLayer.giveBackAllSpecials(this.rollerManager);
if (!isFreeSpin) { if (!isFreeSpin) {
this.setFeatureBuyBtnEnable(false); this.setFeatureBuyBtnEnable(false);
this.setBtnEnable(this.doubleWinBtnNode, false); this.setBtnEnable(this.doubleWinBtnNode.getChildByName('pt_11'), false);
} }
@ -511,6 +511,11 @@ export class SlotGame extends Component {
HasScatterExpect: hasScatterExpect, HasScatterExpect: hasScatterExpect,
ScatterPos: scatterPos, ScatterPos: scatterPos,
BombPos: bombPos, BombPos: bombPos,
MulInfo: [{
"Pos": 7,
"Mul": 2
}
],
hasSmallGame: scatterPos.length >= 4, hasSmallGame: scatterPos.length >= 4,
hasFreeSpinAgain: scatterPos.length >= 3 && freeIsSame, hasFreeSpinAgain: scatterPos.length >= 3 && freeIsSame,
}; };

View File

@ -244,12 +244,12 @@ export class SlotScene extends Component {
} }
onOpenMenu() { onOpenMenu() {
this.slotGame.hideFeatureBuy(); // this.slotGame.hideFeatureBuy();
} }
onCloseMenu() { onCloseMenu() {
if (this.gameInfo.CloseBuyGame) return; if (this.gameInfo.CloseBuyGame) return;
this.slotGame.showFeatureBuy(false); // this.slotGame.showFeatureBuy(false);
} }
onAutoSpin(isAutoSpin: boolean) { onAutoSpin(isAutoSpin: boolean) {

File diff suppressed because it is too large Load Diff