From 2fc2885c7109c11fe4fec0b183909bcc3faad10e Mon Sep 17 00:00:00 2001 From: TJH Date: Mon, 13 Oct 2025 14:02:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=84=E7=95=8C=E9=9D=A2freeSpin=E6=96=87?= =?UTF-8?q?=E5=AD=97=E6=B8=90=E5=85=A5=E6=B8=90=E5=87=BA=EF=BC=8CreadyHand?= =?UTF-8?q?=E5=8A=A8=E7=94=BB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prefabs/FreeSpinAdd/FreeSpinAdd.prefab | 40 ++++-- .../FreeSpinEnter/FreeSpinEnter.prefab | 52 +++++--- assets/Game/prefabs/SlotScene.prefab | 114 +++++++++--------- .../Game/prefabs/TotalWin/TotalWinAni.prefab | 40 ++++-- assets/Game/scripts/SlotGame.ts | 2 +- assets/Game/scripts/game/FreeSpinAdd.ts | 22 +++- assets/Game/scripts/game/FreeSpinEnter.ts | 67 +++++----- assets/Game/scripts/game/TotalWin.ts | 26 ++++ 8 files changed, 232 insertions(+), 131 deletions(-) diff --git a/assets/Game/prefabs/FreeSpinAdd/FreeSpinAdd.prefab b/assets/Game/prefabs/FreeSpinAdd/FreeSpinAdd.prefab index 269ac18..3ba0511 100644 --- a/assets/Game/prefabs/FreeSpinAdd/FreeSpinAdd.prefab +++ b/assets/Game/prefabs/FreeSpinAdd/FreeSpinAdd.prefab @@ -31,11 +31,11 @@ "_active": true, "_components": [ { - "__id__": 44 + "__id__": 46 } ], "_prefab": { - "__id__": 46 + "__id__": 48 }, "_lpos": { "__type__": "cc.Vec3", @@ -430,14 +430,14 @@ "_active": true, "_components": [ { - "__id__": 39 + "__id__": 41 }, { - "__id__": 41 + "__id__": 43 } ], "_prefab": { - "__id__": 43 + "__id__": 45 }, "_lpos": { "__type__": "cc.Vec3", @@ -741,10 +741,13 @@ }, { "__id__": 36 + }, + { + "__id__": 38 } ], "_prefab": { - "__id__": 38 + "__id__": 40 }, "_lpos": { "__type__": "cc.Vec3", @@ -867,6 +870,25 @@ "__type__": "cc.CompPrefabInfo", "fileId": "63+2VEAnNIf78+tn7MStOG" }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": { + "__id__": 39 + }, + "_opacity": 255, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "79IyIebc1EYK5MdFrijzoH" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -890,7 +912,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 40 + "__id__": 42 }, "_contentSize": { "__type__": "cc.Size", @@ -918,7 +940,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 42 + "__id__": 44 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -976,7 +998,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 45 + "__id__": 47 }, "_contentSize": { "__type__": "cc.Size", diff --git a/assets/Game/prefabs/FreeSpinEnter/FreeSpinEnter.prefab b/assets/Game/prefabs/FreeSpinEnter/FreeSpinEnter.prefab index 4f84db2..07dcef3 100644 --- a/assets/Game/prefabs/FreeSpinEnter/FreeSpinEnter.prefab +++ b/assets/Game/prefabs/FreeSpinEnter/FreeSpinEnter.prefab @@ -31,11 +31,11 @@ "_active": true, "_components": [ { - "__id__": 80 + "__id__": 82 } ], "_prefab": { - "__id__": 82 + "__id__": 84 }, "_lpos": { "__type__": "cc.Vec3", @@ -405,14 +405,14 @@ "_active": true, "_components": [ { - "__id__": 75 + "__id__": 77 }, { - "__id__": 77 + "__id__": 79 } ], "_prefab": { - "__id__": 79 + "__id__": 81 }, "_lpos": { "__type__": "cc.Vec3", @@ -468,14 +468,14 @@ "_active": true, "_components": [ { - "__id__": 70 + "__id__": 72 }, { - "__id__": 72 + "__id__": 74 } ], "_prefab": { - "__id__": 74 + "__id__": 76 }, "_lpos": { "__type__": "cc.Vec3", @@ -1432,10 +1432,13 @@ }, { "__id__": 67 + }, + { + "__id__": 69 } ], "_prefab": { - "__id__": 69 + "__id__": 71 }, "_lpos": { "__type__": "cc.Vec3", @@ -1558,6 +1561,25 @@ "__type__": "cc.CompPrefabInfo", "fileId": "3dF1nulQJD4oHvlh1Zkb4D" }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 62 + }, + "_enabled": true, + "__prefab": { + "__id__": 70 + }, + "_opacity": 255, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8be+onsFRMMrMcIJ9XDuS2" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -1581,7 +1603,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 71 + "__id__": 73 }, "_contentSize": { "__type__": "cc.Size", @@ -1609,7 +1631,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 73 + "__id__": 75 }, "_opacity": 255, "_id": "" @@ -1641,7 +1663,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 76 + "__id__": 78 }, "_contentSize": { "__type__": "cc.Size", @@ -1669,7 +1691,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 78 + "__id__": 80 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1685,7 +1707,7 @@ "__uuid__": "51fefa9b-55e9-4239-acc8-5730bff79e96", "__expectedType__": "sp.SkeletonData" }, - "defaultSkin": "", + "defaultSkin": "default", "defaultAnimation": "", "_premultipliedAlpha": false, "_timeScale": 1, @@ -1727,7 +1749,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 81 + "__id__": 83 }, "_contentSize": { "__type__": "cc.Size", diff --git a/assets/Game/prefabs/SlotScene.prefab b/assets/Game/prefabs/SlotScene.prefab index f3906e9..16e304c 100644 --- a/assets/Game/prefabs/SlotScene.prefab +++ b/assets/Game/prefabs/SlotScene.prefab @@ -2294,7 +2294,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "1fmzVW9GBKvKac6Qunfnaw" + "fileId": "36/hgbuL9IMrK8Mtl1IMVw" }, { "__type__": "cc.PrefabInfo", @@ -2304,7 +2304,7 @@ "asset": { "__id__": 0 }, - "fileId": "c94raEU9dOB7MIGqVgXzcl", + "fileId": "91WOH/VS5OzYrKcQC+AYpK", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -2335,7 +2335,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "660u9LASBFb4Zx1CSQ8wm3" + "fileId": "ccrDQPFlJC+bruTEodPDf9" }, { "__type__": "cc.PrefabInfo", @@ -2345,7 +2345,7 @@ "asset": { "__id__": 0 }, - "fileId": "35eWSNwvBCh4Q6QTKiHNK9", + "fileId": "a0aj38rrZDbIGDKwY/5G9k", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -2376,7 +2376,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "a6dXC3YuxAx5yCII1HSCyV" + "fileId": "8fVzKzrgxFzb0MW3fX/o/C" }, { "__type__": "5fc10Zl7lVO97/rr2J1uxWH", @@ -2400,7 +2400,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "1dOavwnNdPYbUQ3esT/bsq" + "fileId": "0bHKYXmw9LzqXcZ30l/b1g" }, { "__type__": "5fd13+Xa69CZogb3Q/F1lnC", @@ -2573,7 +2573,7 @@ "asset": { "__id__": 0 }, - "fileId": "828j65WcpLFZM5wVbeIvPM", + "fileId": "27Bwq4K1ZJHrOQ2HVBDwD4", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -2598,7 +2598,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "c69xByCH5Jmp7x/Vt+fwiM" + "fileId": "181vzPIzRHBIrYsoJgSS+a" }, { "__type__": "cc.UITransform", @@ -2626,7 +2626,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "dapmAgjflEs6e57U4g9Afu" + "fileId": "31LH3ucypO1LLHZvOy/mCL" }, { "__type__": "cc.Sprite", @@ -2671,7 +2671,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "1avFjv6YhLBLaurVFK8G4S" + "fileId": "d1VDevPYtKNbgn98zMEQVy" }, { "__type__": "cc.PrefabInfo", @@ -2681,7 +2681,7 @@ "asset": { "__id__": 0 }, - "fileId": "11bZp36qFEj6nj56XolX90", + "fileId": "1eTuPljnNHGZQ+OP0nzAKk", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -2936,7 +2936,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "a47oXosz1N8JLslvCX+/df" + "fileId": "73vZ5jykpLFogTcFjT9JrO" }, { "__type__": "cc.PrefabInfo", @@ -2946,7 +2946,7 @@ "asset": { "__id__": 0 }, - "fileId": "16FBaO5ulID7xOs6JowpZ9", + "fileId": "26Hf1hjVFPqrn67xLxkhpG", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -2977,7 +2977,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "bfV3ovHuZMO5dNLYw4zrIL" + "fileId": "51GeHrpSBMWZa3pByCG8U1" }, { "__type__": "cc.PrefabInfo", @@ -2987,7 +2987,7 @@ "asset": { "__id__": 0 }, - "fileId": "bbSqtTphxEh6qsuM05U2hF", + "fileId": "74wUqcYpNNdqMxwX0m7UUx", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3018,7 +3018,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "f1MeX9MrZBKacTuV88QMgE" + "fileId": "fcfICkj4NNIrEKzFwFnkNO" }, { "__type__": "45522uB1sdFu4FJAojtnha4", @@ -3042,7 +3042,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0bRkQtZ2dJlLN1r4JRR8We" + "fileId": "62GyOk1IJB75PrvIzUWhLo" }, { "__type__": "cc.PrefabInfo", @@ -3052,7 +3052,7 @@ "asset": { "__id__": 0 }, - "fileId": "ffx0pFC9VEYLneXZ1Ub2WA", + "fileId": "4aTPaEf4FMk50BQdcpUxCt", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3235,7 +3235,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "ceAssZikRMLIOSiMk+X0nx" + "fileId": "8dc7YCwA9MgqJ+Z04tQdOu" }, { "__type__": "cc.PrefabInfo", @@ -3245,7 +3245,7 @@ "asset": { "__id__": 0 }, - "fileId": "74Org60ZBEeqeSHnFq2Ukp", + "fileId": "43dKTwJ5FKl5R4z/wQvFgC", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3276,7 +3276,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "11j2OymhFGOJcEDldScBah" + "fileId": "93UPVSZOVGAbHraBw3xdJX" }, { "__type__": "cc.PrefabInfo", @@ -3286,7 +3286,7 @@ "asset": { "__id__": 0 }, - "fileId": "9fZGY2Q9RK4KzVNn+CezA+", + "fileId": "ffeCIrbntJs5/hELI6aCzk", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3317,7 +3317,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "d9P2Y2geZJ/otmlsADD+5/" + "fileId": "48HaVP9GpFWrO6FC7Z2G8l" }, { "__type__": "45522uB1sdFu4FJAojtnha4", @@ -3341,7 +3341,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "84eMt4g6BBBoBTErOdxfr3" + "fileId": "ea9X4w7OtOlojtkXC4mOyz" }, { "__type__": "cc.PrefabInfo", @@ -3351,7 +3351,7 @@ "asset": { "__id__": 0 }, - "fileId": "ffEg+PNcdLpa5axafviVLg", + "fileId": "c5IT89S01FNY3uD2KSbBpT", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3534,7 +3534,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "d6FNOC7dVMvLwYRWwIwaF6" + "fileId": "b8GvHExuNB445+aueio+Ox" }, { "__type__": "cc.PrefabInfo", @@ -3544,7 +3544,7 @@ "asset": { "__id__": 0 }, - "fileId": "61uuh61QVKsZaZqd28rklU", + "fileId": "f9aCEzhAdCo5nxXIQpgjWr", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3575,7 +3575,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "45nK+qGm9GyLzsXTwER/iu" + "fileId": "10QJOBeqBN96BJTMed2ZZN" }, { "__type__": "cc.PrefabInfo", @@ -3585,7 +3585,7 @@ "asset": { "__id__": 0 }, - "fileId": "b3aQ4X9EZFp7E6XGv3HIbO", + "fileId": "c5gxmVSjNKVrEQnExUwzCY", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3616,7 +3616,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "17wMSyIFFKMIVoeJzCUTR+" + "fileId": "c6foaGcgZE7p2qf5Wm/6yt" }, { "__type__": "45522uB1sdFu4FJAojtnha4", @@ -3640,7 +3640,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0dlUOwC25FOotRsXDhkYmj" + "fileId": "a1nkNrtC9EGYq3Yy+sm+jq" }, { "__type__": "cc.PrefabInfo", @@ -3650,7 +3650,7 @@ "asset": { "__id__": 0 }, - "fileId": "cfSmWgW6tJqIPArwaNU5mB", + "fileId": "cbs6iwYZVNtqPnQgU8Cuio", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3833,7 +3833,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "d6YkAw6hZAkowY4XZiVSC8" + "fileId": "fddQC6wwFLq65rD91x9wkV" }, { "__type__": "cc.PrefabInfo", @@ -3843,7 +3843,7 @@ "asset": { "__id__": 0 }, - "fileId": "87aT7aDY9BLKg8JOutghsV", + "fileId": "6bIUExco1EEYrKbf2FE7PX", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3874,7 +3874,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "1cHqpO3WpKNI49kxmpGetP" + "fileId": "2bhfG3aXlBoYKXja+LX1Lu" }, { "__type__": "cc.PrefabInfo", @@ -3884,7 +3884,7 @@ "asset": { "__id__": 0 }, - "fileId": "3b5h+4NB1JpbVKqAFB4uCA", + "fileId": "b6iUeGSyZNQIrCVICGLr0N", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3915,7 +3915,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "2c3LsDGHNNobIX63da58Zb" + "fileId": "115aYgrMpCObFLPGKadMIy" }, { "__type__": "45522uB1sdFu4FJAojtnha4", @@ -3939,7 +3939,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "86Tx6hT31PNr19ubjilrHx" + "fileId": "aa3dHLRS1BnqvMMKIeOZHi" }, { "__type__": "cc.PrefabInfo", @@ -3949,7 +3949,7 @@ "asset": { "__id__": 0 }, - "fileId": "66RSPD531BZ4X8B7RPPc0U", + "fileId": "0aCNKvi+RGw5av+rAacAMv", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4132,7 +4132,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "aaRg78oi1PCYy8eSWb3pyr" + "fileId": "b0c06hiK9KMahmQIcOvCvH" }, { "__type__": "cc.PrefabInfo", @@ -4142,7 +4142,7 @@ "asset": { "__id__": 0 }, - "fileId": "2bGQql0LJA1INM5rD+gj6t", + "fileId": "603XGNOrlKWqQlcEYB8Y8s", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4173,7 +4173,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "bbOPTjV65P/pTM6CViHujF" + "fileId": "c95AxGEjFHX7vEy2h+2SfK" }, { "__type__": "cc.PrefabInfo", @@ -4183,7 +4183,7 @@ "asset": { "__id__": 0 }, - "fileId": "d0/eBZVdNHjb5IhEp/S99j", + "fileId": "0eCAkd/+1F1aYLYUsDqJmy", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4214,7 +4214,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "64wy87GDdLMY6L9t1yokRs" + "fileId": "38cas4p3BD5KSam2gYvkC5" }, { "__type__": "45522uB1sdFu4FJAojtnha4", @@ -4238,7 +4238,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "83aEUqpGxMLo4HkpEdePY9" + "fileId": "8fyNIbJ4pJYaCt6IWUBEN2" }, { "__type__": "cc.PrefabInfo", @@ -4248,7 +4248,7 @@ "asset": { "__id__": 0 }, - "fileId": "03Dt4CAh1AM51ZTS+Z/sly", + "fileId": "39jjsh6DNIabd80zeipjyI", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4431,7 +4431,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "87dkDgkFlHeJIAIIXeUUCg" + "fileId": "89wSxaKBdCUJ/i702wGeQ7" }, { "__type__": "cc.PrefabInfo", @@ -4441,7 +4441,7 @@ "asset": { "__id__": 0 }, - "fileId": "64MEFJhQBBDoDEc58EmuPQ", + "fileId": "0b4PI7+9ZDZZNzqkRGr3en", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4472,7 +4472,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "ec6uU4/F9IrJAuW5G03oVs" + "fileId": "5ccW4dawlBHLSS/pH8LAGN" }, { "__type__": "cc.PrefabInfo", @@ -4482,7 +4482,7 @@ "asset": { "__id__": 0 }, - "fileId": "dc40xX4kBNk7YW6OoDUy9I", + "fileId": "c6cDh5S9xHJo0JN+kRo08F", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4513,7 +4513,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "8efqkWJ+JJZYysU1OL/BsE" + "fileId": "4c7XxjcB9AuaSRVenQnyMp" }, { "__type__": "45522uB1sdFu4FJAojtnha4", @@ -4537,7 +4537,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "555bzzi25Drohln5w4Fh12" + "fileId": "07nf1f7RxAz6sedy+K4mHW" }, { "__type__": "cc.PrefabInfo", @@ -4547,7 +4547,7 @@ "asset": { "__id__": 0 }, - "fileId": "48P+hfImNOX6L8Bz6PgWjZ", + "fileId": "66AOaLoiZLybDooEPKqVbZ", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -4572,7 +4572,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "51tfJCd8lM7LIqOsXIo37q" + "fileId": "d7eD3+9cVGDYEgmy0PlqdU" }, { "__type__": "cc.UITransform", @@ -4600,7 +4600,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "7bdfCG5SZDjrKVFDjrFVgi" + "fileId": "66ERiAPeNJz7eCKFl45P6q" }, { "__type__": "cc.Sprite", @@ -4645,7 +4645,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "5edRgGcgpGibXI0ZcYRwGb" + "fileId": "44NclXuHRE0LgYYr9mskjX" }, { "__type__": "cc.PrefabInfo", @@ -4655,7 +4655,7 @@ "asset": { "__id__": 0 }, - "fileId": "95qqXyFb5Bub3OkgJRCngF", + "fileId": "c60ZJ4WeBNpKIuFSLQW4Qo", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null diff --git a/assets/Game/prefabs/TotalWin/TotalWinAni.prefab b/assets/Game/prefabs/TotalWin/TotalWinAni.prefab index d5c2a85..389fce3 100644 --- a/assets/Game/prefabs/TotalWin/TotalWinAni.prefab +++ b/assets/Game/prefabs/TotalWin/TotalWinAni.prefab @@ -28,11 +28,11 @@ "_active": true, "_components": [ { - "__id__": 52 + "__id__": 54 } ], "_prefab": { - "__id__": 54 + "__id__": 56 }, "_lpos": { "__type__": "cc.Vec3", @@ -233,14 +233,14 @@ "_active": true, "_components": [ { - "__id__": 47 + "__id__": 49 }, { - "__id__": 49 + "__id__": 51 } ], "_prefab": { - "__id__": 51 + "__id__": 53 }, "_lpos": { "__type__": "cc.Vec3", @@ -925,10 +925,13 @@ }, { "__id__": 44 + }, + { + "__id__": 46 } ], "_prefab": { - "__id__": 46 + "__id__": 48 }, "_lpos": { "__type__": "cc.Vec3", @@ -1051,6 +1054,25 @@ "__type__": "cc.CompPrefabInfo", "fileId": "6bGRw8SLFOW4yUWjkAknSW" }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 47 + }, + "_opacity": 255, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e7iSit+Y1Mo6XAqrTsDN26" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -1074,7 +1096,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 48 + "__id__": 50 }, "_contentSize": { "__type__": "cc.Size", @@ -1102,7 +1124,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 50 + "__id__": 52 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -1160,7 +1182,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 53 + "__id__": 55 }, "_contentSize": { "__type__": "cc.Size", diff --git a/assets/Game/scripts/SlotGame.ts b/assets/Game/scripts/SlotGame.ts index b978183..88d88b6 100644 --- a/assets/Game/scripts/SlotGame.ts +++ b/assets/Game/scripts/SlotGame.ts @@ -742,7 +742,7 @@ export class SlotGame extends Component { this.readyHand.setPosition(posX, 180, 0); this.grayNode.active = true; this.grayNode.children.forEach((child, index) => { - if (index < rollerId) { + if (index != rollerId) { child.active = true; } else { child.active = false; diff --git a/assets/Game/scripts/game/FreeSpinAdd.ts b/assets/Game/scripts/game/FreeSpinAdd.ts index 8a0bea0..9b938d1 100644 --- a/assets/Game/scripts/game/FreeSpinAdd.ts +++ b/assets/Game/scripts/game/FreeSpinAdd.ts @@ -1,4 +1,4 @@ -import { _decorator, Button, Component, Label, Node, Prefab, sp, Sprite, Tween, tween, v3 } from 'cc'; +import { _decorator, Button, Component, Label, Node, Prefab, sp, Sprite, Tween, tween, UIOpacity, v3 } from 'cc'; import { NodePoolManager } from '../../../Loading/scripts/manager/NodePoolManager'; import { AudioManager } from 'db://assets/Loading/scripts/manager/AudioManager'; const { ccclass, property } = _decorator; @@ -9,6 +9,7 @@ export class FreeSpinAdd extends Component { freeSpinAddPre: Prefab = null; freeSpinAddUI: Node = null; + LabelNode: Node | null = null; freeSpinEnterSpine: sp.Skeleton | null = null; freeSpinEnterTitleSp: Sprite | null = null; @@ -23,6 +24,7 @@ export class FreeSpinAdd extends Component { this.freeSpinEnterSpine = this.freeSpinAddUI.getChildByName('spine').getComponent(sp.Skeleton); let numNode = this.freeSpinEnterSpine.node.getChildByName('NumNode'); + this.LabelNode = this.freeSpinEnterSpine.node.getChildByName('LabelNode'); this.freeCountLabel = numNode.getChildByName('Label').getComponent(Label); // let titleNode = this.freeSpinEnterSpine.node.getChildByName('TitleNode'); @@ -38,7 +40,20 @@ export class FreeSpinAdd extends Component { playAnimation() { this.freeSpinEnterSpine.clearTracks(); this.freeSpinEnterSpine.setAnimation(0, 'in', false); + this.LabelNode.getComponent(UIOpacity).opacity = 0; + + tween(this.LabelNode.getComponent(UIOpacity)) + .to(0.2, { opacity: 255 }) + .start(); + + tween(this.LabelNode) + .set({ scale: v3(0.5, 0.5, 0.5) }) + .to(0.2, { scale: v3(1, 1, 1) }) + .start(); + + this.freeSpinEnterSpine.setCompleteListener(() => { + this.freeSpinEnterSpine.setAnimation(0, 'loop', true); this.scheduleOnce(() => { this.onClose(); @@ -51,6 +66,11 @@ export class FreeSpinAdd extends Component { this.unscheduleAllCallbacks(); this.freeSpinEnterSpine.clearTracks(); this.freeSpinEnterSpine.setAnimation(0, 'out', true); + this.LabelNode.getComponent(UIOpacity).opacity = 255; + + tween(this.LabelNode.getComponent(UIOpacity)) + .to(0.5, { opacity: 0 }) + .start(); this.freeSpinEnterSpine.setCompleteListener(() => { this.freeSpinAddUI.removeFromParent(); NodePoolManager.instance.putNodeToPool('freeSpinAdd', this.freeSpinAddUI); diff --git a/assets/Game/scripts/game/FreeSpinEnter.ts b/assets/Game/scripts/game/FreeSpinEnter.ts index 39ae37e..7215db6 100644 --- a/assets/Game/scripts/game/FreeSpinEnter.ts +++ b/assets/Game/scripts/game/FreeSpinEnter.ts @@ -15,6 +15,7 @@ export class FreeSpinEnter extends Component { freeSpinEnterSpine: sp.Skeleton | null = null; Node_1: Node | null = null; numNode: Node | null = null; + LabelNode: Node | null = null; contentNode: Node | null = null; freeSpinEnterTitleSp: Sprite | null = null; @@ -33,6 +34,7 @@ export class FreeSpinEnter extends Component { this.freeSpinEnterSpine = this.freeSpinEnterUI.getChildByName('spine').getComponent(sp.Skeleton); this.Node_1 = this.freeSpinEnterSpine.node.getChildByName('Node'); this.numNode = this.Node_1.getChildByName('NumNode'); + this.LabelNode = this.Node_1.getChildByName('LabelNode'); this.NumNodeOpacityCom = this.numNode.getComponent(UIOpacity); this.NumNodeOpacityCom.opacity = 255; Tween.stopAllByTarget(this.NumNodeOpacityCom.node); @@ -59,29 +61,12 @@ export class FreeSpinEnter extends Component { this.freeSpinEnterSpine.setAnimation(0, 'in', false); this.contentNode.getComponent(UIOpacity).opacity = 0; this.NumNodeOpacityCom.opacity = 0; + this.LabelNode.getComponent(UIOpacity).opacity = 0; + this.scheduleOnce(() => { - - tween(this.NumNodeOpacityCom) - .to(0.2, { opacity: 255 }) - .start(); - - tween(this.numNode) - .set({ scale: v3(0.5, 0.5, 0.5) }) - .to(0.2, { scale: v3(1, 1, 1) }) - .call(() => { - this.btnNode.active = true; - }) - .start(); - - tween(this.contentNode.getComponent(UIOpacity)) - .to(0.2, { opacity: 255 }) - .start(); - - tween(this.contentNode) - .set({ scale: v3(0.5, 0.5, 0.5) }) - .to(0.2, { scale: v3(1, 1, 1) }) - .start(); - + this.tweenAnim(this.numNode) + this.tweenAnim(this.LabelNode) + this.tweenAnim(this.contentNode) }, 0.2) @@ -93,12 +78,28 @@ export class FreeSpinEnter extends Component { }) } + tweenAnim(node: Node) { + tween(node.getComponent(UIOpacity)) + .to(0.2, { opacity: 255 }) + .start(); + + tween(node) + .set({ scale: v3(0.5, 0.5, 0.5) }) + .to(0.2, { scale: v3(1, 1, 1) }) + .call(() => { + this.btnNode.active = true; + }) + .start(); + } + // 加入回调 onClose(isClick: boolean = true) { this.btn.node.off(Button.EventType.CLICK, this.onClose, this); this.btnNode.active = false; this.unscheduleAllCallbacks(); - this.fadeOutScoreLabel(0.5, 0.5); + this.fadeOutScoreLabel(this.numNode, 0.5, 0.5); + this.fadeOutScoreLabel(this.contentNode, 0.5, 0.5); + this.fadeOutScoreLabel(this.LabelNode, 0.5, 0.5); this.freeSpinEnterSpine.clearTracks(); this.freeSpinEnterSpine.setAnimation(0, 'out', true); this.freeSpinEnterSpine.setCompleteListener(() => { @@ -108,27 +109,15 @@ export class FreeSpinEnter extends Component { }) } - fadeOutScoreLabel(delay: number, duration: number) { + fadeOutScoreLabel(node: Node, delay: number, duration: number) { // 先停止可能正在进行的动画 - Tween.stopAllByTarget(this.numNode); + Tween.stopAllByTarget(node); // 确保标签是可见的 - this.NumNodeOpacityCom.opacity = 255; + node.getComponent(UIOpacity).opacity = 255; // 创建并执行渐隐动画 - tween(this.NumNodeOpacityCom) - .delay(delay) - .to(duration, { opacity: 0 }) - .start(); - - // 先停止可能正在进行的动画 - Tween.stopAllByTarget(this.contentNode); - - // 确保标签是可见的 - this.contentNode.getComponent(UIOpacity).opacity = 255; - - // 创建并执行渐隐动画 - tween(this.contentNode.getComponent(UIOpacity)) + tween(node.getComponent(UIOpacity)) .delay(delay) .to(duration, { opacity: 0 }) .start(); diff --git a/assets/Game/scripts/game/TotalWin.ts b/assets/Game/scripts/game/TotalWin.ts index e3da423..c226d57 100644 --- a/assets/Game/scripts/game/TotalWin.ts +++ b/assets/Game/scripts/game/TotalWin.ts @@ -11,6 +11,8 @@ export class TotalWin extends Component { totalWinUINode: Node = null; btnNode: Node = null; + LabelNode: Node | null = null; + totalWinSpine: sp.Skeleton | null = null; NumNodeOpacityCom: UIOpacity | null = null; scoreLabel: Label | null = null; // 分数节点 @@ -30,6 +32,8 @@ export class TotalWin extends Component { this.totalWinSpine = this.totalWinUINode.getChildByName('spine').getComponent(sp.Skeleton); let numNode = this.totalWinSpine.node.getChildByName('NumNode'); + this.LabelNode = this.totalWinSpine.node.getChildByName('LabelNode'); + this.NumNodeOpacityCom = numNode.getComponent(UIOpacity); this.NumNodeOpacityCom.opacity = 255; this.scoreLabel = numNode.getChildByName('Label').getComponent(Label); @@ -107,6 +111,16 @@ export class TotalWin extends Component { playAnimation() { this.totalWinSpine.clearTracks(); this.totalWinSpine.setAnimation(0, 'in', false); + this.LabelNode.getComponent(UIOpacity).opacity = 0; + + tween(this.LabelNode.getComponent(UIOpacity)) + .to(0.2, { opacity: 255 }) + .start(); + + tween(this.LabelNode) + .set({ scale: v3(0.5, 0.5, 0.5) }) + .to(0.2, { scale: v3(1, 1, 1) }) + .start(); this.totalWinSpine.setCompleteListener(() => { this.totalWinSpine.setAnimation(0, 'loop', true); }) @@ -151,6 +165,18 @@ export class TotalWin extends Component { .to(duration, { opacity: 0 }) .start(); + // 先停止可能正在进行的动画 + Tween.stopAllByTarget(this.LabelNode); + + // 确保标签是可见的 + this.LabelNode.getComponent(UIOpacity).opacity = 255; + + // 创建并执行渐隐动画 + tween(this.LabelNode.getComponent(UIOpacity)) + .delay(delay) + .to(duration, { opacity: 0 }) + .start(); + } }