From 830bf2bb295212f7e680ba7f104837d192fd9d9b Mon Sep 17 00:00:00 2001 From: yangwen Date: Wed, 14 May 2025 12:17:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E7=BB=93=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scene.ls | 64 ----------- assets/atlas/comp/bg_common_white.png | Bin 8190 -> 11226 bytes assets/atlas/comp/bg_common_white.png.meta | 9 +- assets/atlas/comp/btn_blue.png | Bin 0 -> 7505 bytes assets/atlas/comp/btn_blue.png.meta | 6 + assets/atlas/comp/btn_blue_light.png | Bin 0 -> 743 bytes assets/atlas/comp/btn_blue_light.png.meta | 6 + assets/atlas/comp/icon_fail.png | Bin 41953 -> 0 bytes assets/atlas/comp/icon_fail.png.meta | 6 - assets/atlas/comp/welldone.png | Bin 0 -> 3576 bytes assets/atlas/comp/welldone.png.meta | 6 + assets/resources/GameDone.lh | 116 +++++++++++++++++++ assets/resources/GameDone.lh.meta | 3 + assets/resources/GameOver.lh | 125 +++++++++++++++++++++ assets/resources/GameOver.lh.meta | 3 + assets/resources/Home.lh | 37 +++--- assets/resources/Home.lh.meta | 2 +- src/constants/respath.ts | 2 + src/models/StorageManager.ts | 10 ++ src/models/UIManager.ts | 38 ++++++- src/types/Candy.ts | 13 +-- src/views/GameDone.ts | 22 ++++ src/views/GameDone.ts.meta | 3 + src/views/GameOver.ts | 29 +++++ src/views/GameOver.ts.meta | 3 + src/views/Home.ts | 2 +- src/views/Stage.ts | 13 ++- 27 files changed, 405 insertions(+), 113 deletions(-) create mode 100644 assets/atlas/comp/btn_blue.png create mode 100644 assets/atlas/comp/btn_blue.png.meta create mode 100644 assets/atlas/comp/btn_blue_light.png create mode 100644 assets/atlas/comp/btn_blue_light.png.meta delete mode 100644 assets/atlas/comp/icon_fail.png delete mode 100644 assets/atlas/comp/icon_fail.png.meta create mode 100644 assets/atlas/comp/welldone.png create mode 100644 assets/atlas/comp/welldone.png.meta create mode 100644 assets/resources/GameDone.lh create mode 100644 assets/resources/GameDone.lh.meta create mode 100644 assets/resources/GameOver.lh create mode 100644 assets/resources/GameOver.lh.meta create mode 100644 src/views/GameDone.ts create mode 100644 src/views/GameDone.ts.meta create mode 100644 src/views/GameOver.ts create mode 100644 src/views/GameOver.ts.meta diff --git a/assets/Scene.ls b/assets/Scene.ls index bde55f9..80dcc00 100644 --- a/assets/Scene.ls +++ b/assets/Scene.ls @@ -18,69 +18,5 @@ "_$type": "cd70cd5e-b4cd-4277-ac0a-2224cfbe89ac", "scriptPath": "../src/models/UIManager.ts" } - ], - "_$child": [ - { - "_$id": "w805s9t9", - "_$type": "Box", - "name": "Box", - "width": 1080, - "height": 1920, - "left": 0, - "right": 0, - "top": 0, - "bottom": 0, - "_$child": [ - { - "_$id": "c5b9d1x1", - "_$type": "Image", - "name": "bg", - "x": 118, - "y": 420, - "width": 844, - "height": 1080, - "centerX": 0, - "centerY": 0, - "skin": "res://6ad19646-ed7a-431c-a50e-65c2bcb40751", - "color": "#ffffff" - }, - { - "_$id": "md4ipd8a", - "_$type": "Image", - "name": "score", - "x": 300, - "y": 449, - "width": 240, - "height": 181, - "scaleX": 2, - "scaleY": 2, - "centerX": 0, - "centerY": -330, - "skin": "res://9e3eb0ac-c410-40a7-b8c3-ae1316d04cfb", - "useSourceSize": true, - "color": "#ffffff", - "_$child": [ - { - "_$id": "fkjymlk3", - "_$type": "Label", - "name": "Label", - "x": 20, - "y": 61, - "width": 200, - "height": 60, - "centerX": 0, - "centerY": 0, - "text": "99", - "font": "res://55f943ef-58d2-4b30-8498-271c4213cce4", - "fontSize": 60, - "color": "#FFFFFF", - "align": "center", - "valign": "middle", - "padding": "0,0,0,0" - } - ] - } - ] - } ] } \ No newline at end of file diff --git a/assets/atlas/comp/bg_common_white.png b/assets/atlas/comp/bg_common_white.png index 901f7c873a7aa108382765abdab6b2da0f17d8e1..75a14820747b5ed0884fb354beca482a655cfd90 100644 GIT binary patch literal 11226 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 delta 8189 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

jlQIWGBBqkgTKBHkvLii$zkFktd5m#!yJ8 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 b%ZL95-fz(OG>Wyy00000NkvXXu0mjf+4svC literal 0 HcmV?d00001 diff --git a/assets/atlas/comp/btn_blue.png.meta b/assets/atlas/comp/btn_blue.png.meta new file mode 100644 index 0000000..34643fc --- /dev/null +++ b/assets/atlas/comp/btn_blue.png.meta @@ -0,0 +1,6 @@ +{ + "uuid": "a75b43fb-bcf6-47d1-a1ef-e5261122a4e2", + "importer": { + "textureType": 2 + } +} \ No newline at end of file diff --git a/assets/atlas/comp/btn_blue_light.png b/assets/atlas/comp/btn_blue_light.png new file mode 100644 index 0000000000000000000000000000000000000000..619191bf093072180d580e78b81b190c4a42865c GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0vp^KY-YjgAGXLELTeeQk(@Ik;M!Q+`=Ht$S`Y;1W=H% zILO_JVcj{Imp~3nx}&cn1H;CC?mvmF3=B*)o-U3d6^w6h?$5g%Aky%$c>UWWo>ITm zr)mj!h^8*`@NnJ3nr≻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 literal 0 HcmV?d00001 diff --git a/assets/atlas/comp/welldone.png.meta b/assets/atlas/comp/welldone.png.meta new file mode 100644 index 0000000..c6467c4 --- /dev/null +++ b/assets/atlas/comp/welldone.png.meta @@ -0,0 +1,6 @@ +{ + "uuid": "120856c0-7081-4fde-8dca-ae0a78d684e2", + "importer": { + "textureType": 2 + } +} \ No newline at end of file diff --git a/assets/resources/GameDone.lh b/assets/resources/GameDone.lh new file mode 100644 index 0000000..31f5ea0 --- /dev/null +++ b/assets/resources/GameDone.lh @@ -0,0 +1,116 @@ +{ + "_$ver": 1, + "_$id": "9yemrkim", + "_$type": "Box", + "name": "GameDone", + "width": 1080, + "height": 1920, + "_mouseState": 2, + "drawCallOptimize": true, + "left": 0, + "right": 0, + "top": 0, + "bottom": 0, + "_$comp": [ + { + "_$type": "13e020d1-5ab8-4082-80ca-c0d208342103", + "scriptPath": "../src/views/GameDone.ts", + "btn_new": { + "_$ref": "ljwrbqm7" + } + } + ], + "_$child": [ + { + "_$id": "ocyocuk7", + "_$type": "Image", + "name": "bg", + "x": 90, + "y": 482, + "width": 900, + "height": 956, + "_mouseState": 2, + "centerX": 0, + "centerY": 0, + "skin": "res://6ad19646-ed7a-431c-a50e-65c2bcb40751", + "sizeGrid": "40,60,50,60,0", + "color": "#ffffff", + "_$child": [ + { + "_$id": "52u6rl70", + "_$type": "Image", + "name": "Image", + "x": 322, + "y": 54, + "width": 128, + "height": 128, + "scaleX": 2, + "scaleY": 2, + "centerX": 0, + "centerY": -296, + "skin": "res://120856c0-7081-4fde-8dca-ae0a78d684e2", + "useSourceSize": true, + "color": "#ffffff" + } + ] + }, + { + "_$id": "ljwrbqm7", + "_$type": "Button", + "name": "btn_new", + "x": 172, + "y": 1182, + "width": 736, + "height": 152, + "_mouseState": 2, + "centerX": 0, + "centerY": 298, + "stateNum": 1, + "skin": "res://2e8c9585-e650-4494-a329-807fd2d2a532", + "sizeGrid": "24,40,24,40,0", + "label": "新游戏", + "labelFont": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "labelSize": 60, + "labelBold": true, + "labelColors": "#1d5cdc,#1d5cdc,#1d5cdc", + "labelAlign": "center", + "labelVAlign": "middle" + }, + { + "_$id": "t0v4lr20", + "_$type": "Label", + "name": "Label", + "x": 172, + "y": 795, + "width": 736, + "height": 100, + "centerX": 0, + "centerY": -115, + "text": "Well done", + "font": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "fontSize": 80, + "color": "rgba(0, 0, 0, 1)", + "bold": true, + "align": "center", + "valign": "middle", + "padding": "0,0,0,0", + "_$child": [ + { + "_$id": "kx4e9y8p", + "_$type": "Text", + "name": "Text", + "y": 120, + "width": 736, + "height": 200, + "text": "[color=#7b818c]你击败了[color=#f1bf44]80%[/color]的玩家[/color]", + "font": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "fontSize": 60, + "color": "#FFFFFF", + "ubb": true, + "align": "center", + "leading": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/assets/resources/GameDone.lh.meta b/assets/resources/GameDone.lh.meta new file mode 100644 index 0000000..31e6e7b --- /dev/null +++ b/assets/resources/GameDone.lh.meta @@ -0,0 +1,3 @@ +{ + "uuid": "2cc92bb3-cd88-4188-8660-2bef0a53883f" +} \ No newline at end of file diff --git a/assets/resources/GameOver.lh b/assets/resources/GameOver.lh new file mode 100644 index 0000000..7914e99 --- /dev/null +++ b/assets/resources/GameOver.lh @@ -0,0 +1,125 @@ +{ + "_$ver": 1, + "_$id": "w805s9t9", + "_$type": "Box", + "name": "GameOver", + "width": 1080, + "height": 1920, + "_mouseState": 2, + "drawCallOptimize": true, + "left": 0, + "right": 0, + "top": 0, + "bottom": 0, + "_$child": [ + { + "_$id": "li6t446m", + "_$type": "Image", + "name": "bg", + "x": 90, + "y": 404, + "width": 900, + "height": 1112, + "_mouseState": 2, + "centerX": 0, + "centerY": 0, + "skin": "res://6ad19646-ed7a-431c-a50e-65c2bcb40751", + "sizeGrid": "40,60,50,60,0", + "color": "#ffffff" + }, + { + "_$id": "sco68sr2", + "_$type": "Button", + "name": "btn_restart", + "x": 172, + "y": 1032, + "width": 736, + "height": 152, + "_mouseState": 2, + "centerX": 0, + "centerY": 148, + "stateNum": 1, + "skin": "res://2e8c9585-e650-4494-a329-807fd2d2a532", + "sizeGrid": "24,40,24,40,0", + "label": "重新开始", + "labelFont": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "labelSize": 60, + "labelBold": true, + "labelColors": "#1d5cdc,#1d5cdc,#1d5cdc", + "labelAlign": "center", + "labelVAlign": "middle" + }, + { + "_$id": "p8wk9udp", + "_$type": "Button", + "name": "btn_new", + "x": 172, + "y": 1234, + "width": 736, + "height": 152, + "_mouseState": 2, + "centerX": 0, + "centerY": 350, + "stateNum": 1, + "skin": "res://2e8c9585-e650-4494-a329-807fd2d2a532", + "sizeGrid": "24,40,24,40,0", + "label": "新游戏", + "labelFont": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "labelSize": 60, + "labelBold": true, + "labelColors": "#1d5cdc,#1d5cdc,#1d5cdc", + "labelAlign": "center", + "labelVAlign": "middle" + }, + { + "_$id": "jkqju6ok", + "_$type": "Label", + "name": "Label", + "x": 172, + "y": 510, + "width": 736, + "height": 100, + "centerX": 0, + "centerY": -400, + "text": "游戏结束", + "font": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "fontSize": 80, + "color": "rgba(0, 0, 0, 1)", + "bold": true, + "align": "center", + "valign": "middle", + "padding": "0,0,0,0" + }, + { + "_$id": "39t7ygbe", + "_$type": "Label", + "name": "Label(1)", + "x": 172, + "y": 667, + "width": 736, + "height": 300, + "centerX": 0, + "centerY": -143, + "text": "你犯了3个错误所以你输掉了游戏", + "font": "res://55f943ef-58d2-4b30-8498-271c4213cce4", + "fontSize": 60, + "color": "rgba(123, 129, 140, 1)", + "align": "center", + "valign": "top", + "wordWrap": true, + "padding": "0,0,0,0" + } + ], + "_$comp": [ + { + "_$type": "72a5ccd3-8177-451c-b2ce-cf1b42f7e6d4", + "scriptPath": "../src/views/GameOver.ts", + "btn_restart": { + "_$ref": "sco68sr2" + }, + "btn_new": { + "_$ref": "p8wk9udp" + } + } + ] +} \ No newline at end of file diff --git a/assets/resources/GameOver.lh.meta b/assets/resources/GameOver.lh.meta new file mode 100644 index 0000000..f0dff33 --- /dev/null +++ b/assets/resources/GameOver.lh.meta @@ -0,0 +1,3 @@ +{ + "uuid": "c14a4460-1569-45a3-9ce7-f268a939cc66" +} \ No newline at end of file diff --git a/assets/resources/Home.lh b/assets/resources/Home.lh index 81e6863..1d23fd0 100644 --- a/assets/resources/Home.lh +++ b/assets/resources/Home.lh @@ -1,6 +1,6 @@ { "_$ver": 1, - "_$id": "dzyyfm4n", + "_$id": "5uv9hvq0", "_$type": "Box", "name": "Home", "width": 1080, @@ -15,16 +15,16 @@ "_$type": "f2970e4d-7a09-4a9b-aef3-45d330c86f4f", "scriptPath": "../src/views/Home.ts", "btn_start": { - "_$ref": "vfxym76v" + "_$ref": "6ystn7m8" }, "btn_clean": { - "_$ref": "ttvxhmrp" + "_$ref": "m2dc2r9d" } } ], "_$child": [ { - "_$id": "x8wx2qo1", + "_$id": "g2ct7a01", "_$type": "Image", "name": "Mask", "width": 1080, @@ -37,13 +37,14 @@ "color": "#ffffff" }, { - "_$id": "pd4fx8i2", + "_$id": "hxal67ur", "_$type": "Button", "name": "btn_continue", "x": 440, "y": 737, "width": 200, "height": 100, + "visible": false, "_mouseState": 2, "centerX": 0, "centerY": -173, @@ -56,27 +57,29 @@ "labelVAlign": "middle" }, { - "_$id": "vfxym76v", + "_$id": "6ystn7m8", "_$type": "Button", "name": "btn_start", - "x": 440, - "y": 910, - "width": 200, - "height": 100, + "x": 172, + "y": 1182, + "width": 736, + "height": 152, "_mouseState": 2, "centerX": 0, - "centerY": 0, - "skin": "res://7eeb7e11-21ca-41ca-b7c2-dd2afa0c3ba7", - "label": "开始", + "centerY": 298, + "stateNum": 1, + "skin": "res://a75b43fb-bcf6-47d1-a1ef-e5261122a4e2", + "sizeGrid": "24,40,24,40,0", + "label": "新游戏", "labelFont": "res://55f943ef-58d2-4b30-8498-271c4213cce4", "labelSize": 60, - "labelColors": "#ffffff,#32cc6b,#ff0000", + "labelBold": true, + "labelColors": "#ffffff,#ffffff,#ffffff", "labelAlign": "center", - "labelVAlign": "middle", - "labelStrokeColor": "rgba(216, 208, 208, 1)" + "labelVAlign": "middle" }, { - "_$id": "ttvxhmrp", + "_$id": "m2dc2r9d", "_$type": "Button", "name": "btn_clean", "x": 440, diff --git a/assets/resources/Home.lh.meta b/assets/resources/Home.lh.meta index a94fd07..30e41a9 100644 --- a/assets/resources/Home.lh.meta +++ b/assets/resources/Home.lh.meta @@ -1,3 +1,3 @@ { - "uuid": "ed2f6a24-7574-4f6a-b76b-816fe2521be2" + "uuid": "f9d05a0a-e0b6-4980-99ad-e809399f6099" } \ No newline at end of file diff --git a/src/constants/respath.ts b/src/constants/respath.ts index 2d8fd43..3a319ed 100644 --- a/src/constants/respath.ts +++ b/src/constants/respath.ts @@ -3,6 +3,8 @@ export const respath = { home_ui_res: "resources/Home.lh", stage_ui_res: "resources/Stage.lh", + gameover_ui_res: "resources/GameOver.lh", + gamedone_ui_res: "resources/GameDone.lh", score_add_ui_res: "resources/ScoreAdd.lh", } diff --git a/src/models/StorageManager.ts b/src/models/StorageManager.ts index 953d183..c892bc2 100644 --- a/src/models/StorageManager.ts +++ b/src/models/StorageManager.ts @@ -73,6 +73,16 @@ export class StorageManager { return new DOStage(dataStage, levelStr) } + public cleanStage(): void { + if (this.stageID && this.stageID.length > 0) { + if (this.stageMap.has(this.stageID)) { + this.stageMap.delete(this.stageID) + } + Laya.LocalStorage.removeItem(this.stageID) + this.stageID = "" + } + } + public saveStage(): void { if (this.changed) { this.changed = false diff --git a/src/models/UIManager.ts b/src/models/UIManager.ts index 6a30791..bb07a03 100644 --- a/src/models/UIManager.ts +++ b/src/models/UIManager.ts @@ -22,6 +22,8 @@ export class UIManager extends Laya.Script { return UIManager._instance } + private stage: Stage + public loadHome(): void { Laya.loader.load(respath.home_ui_res).then((go)=>{ var prefab = go.create() @@ -29,11 +31,39 @@ export class UIManager extends Laya.Script { }) } - public loadStage(): void { - Laya.loader.load(respath.stage_ui_res).then((go)=>{ + public loadStage(stageID: string, clean: boolean=false): void { + if (clean) { + StorageManager.getInstance().cleanStage() + } + if (this.stage) { + this.stage.onLoadStage(StorageManager.getInstance().loadStage(stageID)) + } + else { + Laya.loader.load(respath.stage_ui_res).then((go)=>{ + var prefab = go.create() + this.stage = this.owner.addChild(prefab).getComponent(Stage) + this.stage.onLoadStage(StorageManager.getInstance().loadStage(stageID)) + }) + } + } + + public closeStage(): void { + if (this.stage) { + this.stage.owner.destroy() + this.stage = null + } + } + + public loadGameOver(): void { + Laya.loader.load(respath.gameover_ui_res).then((go)=>{ var prefab = go.create() - var stage = this.owner.addChild(prefab).getComponent(Stage) - stage.onLoadStage(StorageManager.getInstance().loadStage("first")) + this.owner.addChild(prefab) + }) + } + public loadGameDone(): void { + Laya.loader.load(respath.gamedone_ui_res).then((go)=>{ + var prefab = go.create() + this.owner.addChild(prefab) }) } diff --git a/src/types/Candy.ts b/src/types/Candy.ts index 13032c2..69a53c8 100644 --- a/src/types/Candy.ts +++ b/src/types/Candy.ts @@ -30,23 +30,22 @@ export class Candy extends Laya.Script { this.updateCandy() } - public getLeft(): number { - return this.data.get_left(); - } - updateCandy(): void { - this.owner.active = this.getLeft() > 0 if (this.data.get_show() > 0) { this.label_show.text = this.data.get_show().toString() } else { this.label_show.text = "" } - if (this.getLeft() > 0) { - this.label_left.text = this.getLeft().toString(); + + if (this.data.get_left() > 0) { + this.label_left.text = this.data.get_left().toString(); + this.owner.visible = true } else { this.label_left.text = "" + this.owner.visible = false + this.label_show.text = "" } } } \ No newline at end of file diff --git a/src/views/GameDone.ts b/src/views/GameDone.ts new file mode 100644 index 0000000..3b0c885 --- /dev/null +++ b/src/views/GameDone.ts @@ -0,0 +1,22 @@ +import { UIManager } from "../models/UIManager"; +import { StorageManager } from "../models/StorageManager"; + +const { regClass, property } = Laya; + +@regClass() +export class GameDone extends Laya.Script { + declare owner : Laya.Box; + + @property(Laya.Button) + public btn_new: Laya.Button + + //组件被激活后执行,此时所有节点和组件均已创建完毕,此方法只执行一次 + onAwake(): void { + this.btn_new.on(Laya.Event.CLICK, this, (evt: Laya.Event) => { + UIManager.getInstance().closeStage(); + UIManager.getInstance().loadHome(); + StorageManager.getInstance().cleanStage() + this.owner.destroy() + }) + } +} \ No newline at end of file diff --git a/src/views/GameDone.ts.meta b/src/views/GameDone.ts.meta new file mode 100644 index 0000000..71c2e2f --- /dev/null +++ b/src/views/GameDone.ts.meta @@ -0,0 +1,3 @@ +{ + "uuid": "13e020d1-5ab8-4082-80ca-c0d208342103" +} \ No newline at end of file diff --git a/src/views/GameOver.ts b/src/views/GameOver.ts new file mode 100644 index 0000000..32678f8 --- /dev/null +++ b/src/views/GameOver.ts @@ -0,0 +1,29 @@ +import { UIManager } from "../models/UIManager"; + +const { regClass, property } = Laya; + +@regClass() +export class GameOver extends Laya.Script { + declare owner : Laya.Box; + + + @property(Laya.Button) + public btn_restart: Laya.Button + + @property(Laya.Button) + public btn_new: Laya.Button + + //组件被激活后执行,此时所有节点和组件均已创建完毕,此方法只执行一次 + onAwake(): void { + this.btn_restart.on(Laya.Event.CLICK, this, (evt: Laya.Event) => { + UIManager.getInstance().loadStage("first", true); + this.owner.destroy() + }) + + this.btn_new.on(Laya.Event.CLICK, this, (evt: Laya.Event) => { + UIManager.getInstance().loadStage("first", true); + this.owner.destroy() + }) + } + +} \ No newline at end of file diff --git a/src/views/GameOver.ts.meta b/src/views/GameOver.ts.meta new file mode 100644 index 0000000..ae3d5c8 --- /dev/null +++ b/src/views/GameOver.ts.meta @@ -0,0 +1,3 @@ +{ + "uuid": "72a5ccd3-8177-451c-b2ce-cf1b42f7e6d4" +} \ No newline at end of file diff --git a/src/views/Home.ts b/src/views/Home.ts index a5b33c8..4e82793 100644 --- a/src/views/Home.ts +++ b/src/views/Home.ts @@ -16,7 +16,7 @@ export class Home extends Laya.Script { onAwake(): void { this.btn_start.on(Laya.Event.CLICK, this, (evt: Laya.Event) => { console.log("btn_start=", evt); - UIManager.getInstance().loadStage(); + UIManager.getInstance().loadStage("first"); this.owner.destroy() }) diff --git a/src/views/Stage.ts b/src/views/Stage.ts index f177a48..7613382 100644 --- a/src/views/Stage.ts +++ b/src/views/Stage.ts @@ -67,7 +67,7 @@ export class Stage extends Laya.Script { onAwake(): void { this.btn_back.on(Laya.Event.CLICK, this, ()=>{ UIManager.getInstance().loadHome(); - this.owner.destroy() + UIManager.getInstance().closeStage(); }) for (var i=0; i= list.length) index = list.length -1 var block = list[index] - block.setShowNumber(block.getData().get_correct()) - this.onUpdateScore() - this.onSetBlock(block) this.selectedBlock = block + var correct = block.getData().get_correct() + var candy = this.candys[correct-1] + this.onApplyCandy(candy) } } @@ -267,10 +268,11 @@ export class Stage extends Laya.Script { this.onUpdateScore() this.onSetBlock(this.selectedBlock) if (b) { - var left = candy.getLeft(); + var left = candy.getData().get_left(); candy.setLeft(left-1); if (this.getIsComplete()) { console.log("完成关卡") + UIManager.getInstance().loadGameDone() } } else {//失败 @@ -278,6 +280,7 @@ export class Stage extends Laya.Script { this.onUpdateMistake() if (this.data.get_mistake() >= this.mistake_all) { //关卡失败 + UIManager.getInstance().loadGameOver() } } }