diff --git a/assets/Scene/HomeScene.fire b/assets/Scene/HomeScene.fire index 40c597f..2ae4d55 100644 --- a/assets/Scene/HomeScene.fire +++ b/assets/Scene/HomeScene.fire @@ -193,6 +193,9 @@ "fontPassCheck": { "__uuid__": "4ed6cebc-e4de-4fe9-9f9b-502ecfa21a7b" }, + "publicFont": { + "__uuid__": "48e7a52f-b3c2-4b03-9786-d8d6615850b8" + }, "_id": "c3AiXtGJZFdrghEYzCHK0O" }, { diff --git a/assets/Script/NumberToImage.ts b/assets/Script/NumberToImage.ts index 1d35c31..61573e7 100644 --- a/assets/Script/NumberToImage.ts +++ b/assets/Script/NumberToImage.ts @@ -25,11 +25,15 @@ export default class NumberToImage extends cc.Component { @property(cc.SpriteAtlas) fontPassCheck: cc.SpriteAtlas = null; + @property(cc.SpriteAtlas) + publicFont: cc.SpriteAtlas = null; + static font: any = null; static font2: any = null; static font3: any = null; static font4: any = null; static fontPassCheck: any = null; + static publicFont: any = null; // LIFE-CYCLE CALLBACKS: onLoad() { @@ -38,6 +42,8 @@ export default class NumberToImage extends cc.Component { NumberToImage.font2 = this.fontUI2; NumberToImage.font3 = this.fontUI3; NumberToImage.font4 = this.fontUI4; + NumberToImage.publicFont = this.publicFont; + NumberToImage.fontPassCheck = this.fontPassCheck; } } @@ -327,6 +333,50 @@ export default class NumberToImage extends cc.Component { } + + static numberToImageNodesNumber(number, width, posX, name, targetNode: cc.Node, middle: boolean = false) { + const numStr = number.toString(); + let cha = 0; + if (number > 99) cha = -posX + else if (number < 10) cha = posX + if (targetNode) { + if (targetNode.children) { + if (targetNode.children.length > 0) + targetNode.removeAllChildren(); + } + } + + + const digitNodes: cc.Node[] = []; + for (let i = 0; i < numStr.length; i++) { + const digit = parseInt(numStr[i], 10); + const node = new cc.Node(); + const sprite = node.addComponent(cc.Sprite); + sprite.spriteFrame = this.publicFont._spriteFrames[name + digit + ""]; + digitNodes.push(node); + } + + // 计算总宽度 + const totalWidth = (numStr.length - 1) * width + (digitNodes[0]?.width || 0); + + if (middle) { + // 计算居中的起始位置 + const startX = -totalWidth / 2; + for (let i = 0; i < digitNodes.length; i++) { + const node = digitNodes[i]; + node.x = startX + i * width; + if (targetNode) node.parent = targetNode; + } + } else { + for (let i = 0; i < digitNodes.length; i++) { + const node = digitNodes[i]; + node.x = i * width + cha; + if (targetNode) node.parent = targetNode; + } + } + } + + static numberToImageNodesShop(number, width, posX, name, targetNode: cc.Node, middle: boolean = false) { const numStr = number.toString(); let cha = 0; diff --git a/assets/Script/Reward.ts b/assets/Script/Reward.ts index f34387c..0e3d1c0 100644 --- a/assets/Script/Reward.ts +++ b/assets/Script/Reward.ts @@ -137,14 +137,14 @@ export default class Reward extends cc.Component { } let label = rewardNode.getChildByName('label') if (rewardData.type == 'coin') - NumberToImage.numberToImageNodes(rewardData.count, 45, 5, "coins", label, true); + NumberToImage.numberToImageNodesNumber(rewardData.count, 45, 5, "big_", label, true); else if (rewardData.type == 'infinite_health') { NumberToImage.getTimeMargin2(rewardData.count, 45, "coins", label, true); if (rewardData.count > 3600) label.x -= 10; rewardNode.getChildByName('xnode').opacity = 1; } else { - NumberToImage.numberToImageNodes(rewardData.count, 50, 15, "coins", label, true); + NumberToImage.numberToImageNodesNumber(rewardData.count, 50, 15, "big_", label, true); rewardNode.getChildByName('xnode').opacity = 0; label.x += 20; } diff --git a/assets/Script/module/Config/GameConfig.ts b/assets/Script/module/Config/GameConfig.ts index 01af39f..3703b54 100644 --- a/assets/Script/module/Config/GameConfig.ts +++ b/assets/Script/module/Config/GameConfig.ts @@ -757,7 +757,7 @@ export class GameConfig { vibrateOpen: true, //震动 coinnum: 0, //每局的金币数 paid_user: false, //是否是付费用户 - version: "1.0.70", //版本号 + version: "1.0.71", //版本号 shushu_DistinctId: "", //数数访客ID shushu_AccountId: "", //数数账号ID uid: "", //用户和后端唯一id diff --git a/assets/UI/UI/newUI.png.meta b/assets/UI/UI/newUI.png.meta index cc1d4e0..4fa7377 100644 --- a/assets/UI/UI/newUI.png.meta +++ b/assets/UI/UI/newUI.png.meta @@ -8,8 +8,8 @@ "premultiplyAlpha": false, "genMipmaps": false, "packable": true, - "width": 782, - "height": 1024, + "width": 993, + "height": 814, "platformSettings": { "minigame": { "formats": [] diff --git a/assets/shop/prefab/rewardNode.prefab b/assets/shop/prefab/rewardNode.prefab index bcf4263..23747f3 100644 --- a/assets/shop/prefab/rewardNode.prefab +++ b/assets/shop/prefab/rewardNode.prefab @@ -742,8 +742,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 139, - "height": 122 + "width": 290, + "height": 246 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1297,15 +1297,15 @@ "__type__": "TypedArray", "ctor": "Float64Array", "array": [ - 20, + 23.272, -121.815, 0, 0, 0, 0, 1, - 0.8, - 0.8, + 1, + 1, 1 ] }, @@ -1360,8 +1360,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 43, - "height": 49 + "width": 36, + "height": 34 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -1379,8 +1379,8 @@ 0, 0, 1, - 0.8, - 0.8, + 1, + 1, 1 ] }, @@ -1413,7 +1413,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "ee1f756f-b070-44b1-a415-4809b2634490" + "__uuid__": "fafa9ef2-f250-47c7-b198-49971d3a380d" }, "_type": 0, "_sizeMode": 1, @@ -1427,7 +1427,7 @@ "_fillRange": 0, "_isTrimmedMode": true, "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" + "__uuid__": "48e7a52f-b3c2-4b03-9786-d8d6615850b8" }, "_id": "" },