免费模式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": {
"__type__": "cc.Size",
"width": 1080,
"height": 1919.9999999999998
"height": 1920
},
"_anchorPoint": {
"__type__": "cc.Vec2",
@ -1564,7 +1564,7 @@
"_contentSize": {
"__type__": "cc.Size",
"width": 1080,
"height": 1919.9999999999998
"height": 1920
},
"_anchorPoint": {
"__type__": "cc.Vec2",

View File

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

View File

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

View File

@ -26,19 +26,22 @@
},
{
"__id__": 26
},
{
"__id__": 36
}
],
"_active": true,
"_components": [
{
"__id__": 36
"__id__": 42
},
{
"__id__": 38
"__id__": 44
}
],
"_prefab": {
"__id__": 40
"__id__": 46
},
"_lpos": {
"__type__": "cc.Vec3",
@ -187,8 +190,8 @@
},
"_contentSize": {
"__type__": "cc.Size",
"width": 148,
"height": 140
"width": 157,
"height": 147
},
"_anchorPoint": {
"__type__": "cc.Vec2",
@ -224,7 +227,7 @@
"a": 255
},
"_spriteFrame": {
"__uuid__": "41856c4f-db7d-41ef-bd58-cd9c9987baee@f9941",
"__uuid__": "bd6184d6-9c3d-4ed5-9f75-9fb95924a2c6@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
@ -849,6 +852,168 @@
"targetOverrides": 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",
"_name": "",
@ -859,7 +1024,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 37
"__id__": 43
},
"_contentSize": {
"__type__": "cc.Size",
@ -887,7 +1052,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 39
"__id__": 45
},
"normalNode": {
"__id__": 2
@ -898,11 +1063,55 @@
"spineNode": {
"__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": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "c16WOtl2BJ8ZbnqIeJtky2"
"fileId": "71kkJ4sfRB8pjig2AKkOCH"
},
{
"__type__": "cc.PrefabInfo",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -253,7 +253,7 @@ export class SlotGame extends Component {
this.upLayer.giveBackAllSpecials(this.rollerManager);
if (!isFreeSpin) {
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,
ScatterPos: scatterPos,
BombPos: bombPos,
MulInfo: [{
"Pos": 7,
"Mul": 2
}
],
hasSmallGame: scatterPos.length >= 4,
hasFreeSpinAgain: scatterPos.length >= 3 && freeIsSame,
};

View File

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

File diff suppressed because it is too large Load Diff