1 line
43 KiB
Plaintext
1 line
43 KiB
Plaintext
{"version":3,"sources":["assets/scripts/Game.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["const {ccclass, property} = cc._decorator;\n// @ccclass\n\n// export class FruitItem extends cc.Component{\n// @property(cc.Integer)\n// id = 0;\n\n// @property(cc.SpriteFrame)\n// iconSF: cc.SpriteFrame = null;\n// }\nlet nwId = 1;\nlet nxtId = 1;\nlet upId = 1;\nlet storeId =0;\nconst FruitItem = cc.Class({\n\tname: 'FruitItem',\n\tproperties: {\n\t\tid: 0,\n\t\ticonSF: cc.SpriteFrame,\n\t},\n});\n\nconst JuiceItem = cc.Class({\n\tname: 'JuiceItem',\n\tproperties: {\n\t\tid: 0,\n\t\tparticle: cc.SpriteFrame, // 果粒\n\t\tcircle: cc.SpriteFrame, // 水珠\n\t\tslash: cc.SpriteFrame, // 果汁\n\t},\n});\n\n@ccclass\nexport default class Game extends cc.Component {\n\t@property(cc.Node)\n\tfruitContainer: cc.Node = null;\n\n\t@property(cc.Node)\n\tcanvas: cc.Node = null;\n\n\t@property(cc.Node)\n\tsuccessPop: cc.Node = null;\n\n\t@property(cc.Node)\n\tfailPop: cc.Node = null;\n\n\t@property(cc.Node)\n\tline: cc.Node = null;\n\n\t@property(cc.Prefab)\n\tfruitPrefab: cc.Prefab = null;\n\n\t@property(cc.Prefab)\n\tjuicePrefab: cc.Prefab = null;\n\n\t@property(cc.Sprite)\n\tnextSprite: cc.Sprite = null;\n\n\t@property(cc.AudioClip)\n\tboomAudio: cc.AudioClip = null;\n\n\t@property(cc.AudioClip)\n\tknockAudio: cc.AudioClip = null;\n\n\t@property(cc.AudioClip)\n\twaterAudio: cc.AudioClip = null;\n\n\t@property(cc.AudioClip)\n\tgameOverAudio: cc.AudioClip = null;\n\n\t@property(cc.AudioClip)\n\tgameAudio: cc.AudioClip = null;\n\n\t@property(cc.Label)\n\tscoreLabel: cc.Label = null;\n\n\t@property(cc.Label)\n\tcomboLabel: cc.Label = null;\n\n\t@property(cc.Prefab)\n\tsmokePrefab: cc.Prefab = null;\n\n\t@property([FruitItem])\n\tfruits: any[] = [];\n\n\t@property([JuiceItem])\n\tjuices: any[] = [];\n\n\n\t@property(cc.Button)\n storageButton: cc.Button = null;\n\n @property(cc.Button)\n takeOutButton: cc.Button = null;\n\n\t@property(cc.Button)\n\tmagicButton: cc.Button = null;\n\n\t@property(cc.Button)\n\tbanButton1: cc.Button = null;\n\n\t@property(cc.Button)\n\tbanButton2: cc.Button = null;\n\n\tnextFruit: cc.Node = null;\n\tscore: number = 0;\n\tisAnimtionPlaying: boolean = false;\n\tisCreating: boolean = false;\n\tcombo: number = 0;\n\tlineBlink = false;\n\tshowOver = false;\n\tnodenumber = 1;\n\tlastNextFruitPreviewNode: cc.Node = null;\n\tstorageContainer: cc.Node = null; // 储存容器节点\n\tstoredFruit: cc.Node = null; // 已储存的水果节点\n\t\n\tcreateOneFruit(num): cc.Node {\n\t\tthis.nodenumber++;\n\t\tlet fruit = cc.instantiate(this.fruitPrefab);\n\n\t\t// 获取到配置信息\n\t\tconst config = this.fruits[num];\n\t\t// 触线检测状态\n\t\tfruit['isCreate'] = false;\n\n\t\t// 获取到节点的Fruit组件并调用实例方法\n\t\tfruit.getComponent('Fruit').init({\n\t\t\tid: config.id,\n\t\t\ticonSF: config.iconSF,\n\t\t});\n\t\tfruit.getComponent(cc.RigidBody).type = cc.RigidBodyType.Dynamic;\n\t\tconst rigidBody = fruit.getComponent(cc.RigidBody);\n\t\trigidBody.type = cc.RigidBodyType.Dynamic;\n\n\t\tconst physicsCircleCollider = fruit.getComponent(cc.PhysicsCircleCollider);\n\t\tphysicsCircleCollider.radius = fruit.height / 2;\n\t\tphysicsCircleCollider.apply();\n\t\tphysicsCircleCollider.restitution=0.2;\n\t\tphysicsCircleCollider.friction=0.1;\n\t\tfruit.on('sameContact', ({self, other}) => {\n\t\t\tother.node.off('sameContact');\n\t\t\tthis.onSameFruitContact({self, other});\n\t\t});\n\n\t\treturn fruit;\n\t}\n\tshowCombo() {\n\t\tthis.combo++;\n\t\t// console.log(this.combo);\n\t\tif (this.combo < 2) return;\n\t\tthis.comboLabel.node.opacity = 255;\n\t\tthis.comboLabel.node.scale = 0;\n\t\tthis.comboLabel.string = 'X' + this.combo.toString();\n\t\tcc.tween(this.comboLabel.node)\n\t\t\t.to(0.2, {\n\t\t\t\tscale: 1.5,\n\t\t\t})\n\t\t\t.start();\n\t\t// this.scheduleOnce(()=>{\n\t\tcc.tween(this.comboLabel.node)\n\t\t\t.to(3, {\n\t\t\t\topacity: 0,\n\t\t\t})\n\t\t\t.call(() => {\n\t\t\t\tthis.combo = 0;\n\t\t\t})\n\t\t\t.start();\n\t\t// },1.5)\n\t}\n\tonSameFruitContact({self, other}) {\n\t\tother.node.off('sameContact');\n\t\tself.node.removeFromParent(false);\n\t\tother.node.removeFromParent(false);\n\t\t// 获取下面的node\n\t\tlet tempNode = self.node.y < other.node.y ? self.node : other.node;\n\t\tconst {x, y} = tempNode; // 获取合并的水果位置\n\t\tlet id = other.getComponent('Fruit').id;\n\t\tif (id==13){\n\t\t\tid=self.getComponent('Fruit').id;\n\t\t}\n\t\tthis.showCombo();\n\t\t// self.node.destroy();\n\t\t// other.node.destroy();\n\t\t// 爆炸特效\n\t\tthis.createFruitJuice(id - 1, cc.v2({x, y}), tempNode.width);\n\n\t\tthis.addScore(id);\n\t\t// 生成下一级水果\n\t\tconst nextId = id;\n\n\t\tconst newFruit = this.createOneFruit(nextId);\n\t\tnewFruit.setPosition(cc.v2(x, y));\n\t\tnewFruit.getComponent(cc.RigidBody).enabledContactListener = false;\n\t\tthis.scheduleOnce(() => {\n\t\t\tnewFruit.getComponent(cc.RigidBody).enabledContactListener = true;\n\t\t}, 0.5);\n\t\tthis.scheduleOnce(()=>{\n\t\t\tnewFruit['isCreate'] = true;\n\t\t},1)\n\t\tthis.fruitContainer.addChild(newFruit);\n\t\tif (nextId < 11) {\n\t\t\tnewFruit.scale = 0;\n\t\t\tcc.tween(newFruit)\n\t\t\t\t.to(\n\t\t\t\t\t0.5,\n\t\t\t\t\t{\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\teasing: 'backOut',\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.start();\n\t\t} else if (nextId == 11) {\n\t\t\tthis.onCombineWaterMelon();\n\t\t} else {\n\t\t\t// todo: 合成两个西瓜\n\t\t\tconsole.log('合成两个西瓜,还没做,感觉没人合到这块');\n\t\t}\n\t}\n\t// 合并时的动画效果\n\tasync createFruitJuice(id, pos, n) {\n\t\tif (this.isAnimtionPlaying) return;\n\n\t\tthis.isAnimtionPlaying = true;\n\t\t// 播放合并的声音\n\t\tcc.audioEngine.play(this.boomAudio, false, 1);\n\t\tcc.audioEngine.play(this.waterAudio, false, 1);\n\n\t\t// 展示动画\n\t\t//let juice = cc.instantiate(this.juicePrefab);\n\t\t//this.fruitContainer.addChild(juice);\n\t\tlet smoke = cc.instantiate(this.smokePrefab);\n\t\tthis.fruitContainer.addChild(smoke);\n\t\t// smoke.setParent(this.node);\n smoke.position = pos;\n smoke.scale = n/80; // 适当调整缩放值,使烟雾大小适应屏幕\n\n\n\t\t// const config = this.juices[id];\n\t\t// const instance = smoke.getComponent('Smoke');\n\t\t// instance.init(config);\n\t\t// instance.init(this.smokePrefab);\n\t\t// await instance.showSmoke(pos, n);\n\t\tthis.isAnimtionPlaying = false;\n\t}\n\t// 添加得分分数\n\taddScore(fruitId) {\n\t\tthis.score += fruitId * 2;\n\t\t// todo: 处理分数tween动画\n\t\tthis.scoreLabel.string = this.score.toString();\n\t}\n\tinitPhysics(): void {\n\t\t// 开启物理引擎\n\t\tconst instance = cc.director.getPhysicsManager();\n\t\tinstance.enabled = true;\n\t\t// instance.debugDrawFlags = 4\n\t\tinstance.gravity = cc.v2(0, -800);\n\n\t\t// 开启碰撞检测\n\t\tvar manager = cc.director.getCollisionManager();\n\t\tmanager.enabled = true;\n\t\t// manager.enabledDebugDraw = true;\n\n\t\t// 设置四周的碰撞区域\n\t\tlet width = this.canvas.width;\n\t\tlet height = this.canvas.height;\n\t\tconsole.log(width);\n\t\tconsole.log(height);\n\t\tlet node = new cc.Node();\n\n\t\tlet body = node.addComponent(cc.RigidBody);\n\t\tbody.type = cc.RigidBodyType.Static;\n\n\t\tconst _addBound = (node, x, y, width, height) => {\n\t\t\tlet collider = node.addComponent(cc.PhysicsBoxCollider);\n\t\t\tcollider.offset.x = x;\n\t\t\tcollider.offset.y = y;\n\t\t\tcollider.size.width = width;\n\t\t\tcollider.size.height = height;\n\t\t};\n\n\t\t_addBound(node, 0, -height / 2 + 190, width, 5);\n\t\t_addBound(node, 0, height / 2, width, 1);\n\t\t_addBound(node, -width / 2, 0, 1, height);\n\t\t_addBound(node, width / 2, 0, 1, height);\n\t\t\n\n\t\tnode.parent = this.canvas;\n\t}\n\n\tonLoad() {\n\t\t// const buttonNode = this.node.getChildByName(\"storebutton\");\n \t// buttonNode.on('click', this.onStoreFruit, this);\n\t\tthis.initPhysics();\n\t\tthis.createNextFruitPreview();\n\t\tthis.canvas.on(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);\n\t\tthis.canvas.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);\n\t\tthis.canvas.on(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this);\n\t\tthis.successPop.active = false;\n\t\tthis.failPop.active = false;\n\t\t// 隐藏按钮2\n this.takeOutButton.node.active = false;\n\n\t\tthis.successPop.on(\n\t\t\tcc.Node.EventType.TOUCH_START,\n\t\t\t() => {\n\t\t\t\tthis.successPop.active = false;\n\t\t\t\tthis.successPop.children.forEach((child) => {\n\t\t\t\t\tif (child.name != 'bg') {\n\t\t\t\t\t\tchild.destroy();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tthis\n\t\t);\n\t\tthis.failPop.on(\n\t\t\tcc.Node.EventType.TOUCH_START,\n\t\t\t() => {\n\t\t\t\t// 重來\n\t\t\t\tthis.failPop.active = false;\n\t\t\t\tthis.showOver = false;\n\t\t\t\tthis.fruitContainer.removeAllChildren();\n\t\t\t\tthis.nextSprite.spriteFrame = this.fruits[0].iconSF;\n\t\t\t\tthis.nextFruit = this.createOneFruit(0);\n\t\t\t\tthis.score = 0;\n\t\t\t\tthis.scoreLabel.string = '0';\n\t\t\t\tthis.nextSprite.node.opacity = 255;\n\t\t\t\tthis.line.opacity = 0; \n\t\t\t\tcc.audioEngine.stopAll();\n\t\t\t\tcc.audioEngine.play(this.gameAudio, true, 1);\n\t\t\t},\n\t\t);\n\t\tthis.nextFruit = this.createOneFruit(0);\n\t\tthis.nextSprite.spriteFrame = this.fruits[0].iconSF;\n\t\tthis.nextSprite.node.setPosition(\n\t\t\tcc.v2(this.canvas.width / 2, -20 - this.nextSprite.node.height / 2)\n\t\t);\n\t\tthis.comboLabel.node.opacity = 0;\n\t\tthis.line.opacity = 0;\n\t\t\n\t}\n\tcreateNextFruitPreview() {\n\t\t\n\t\t// 使用下一个水果的预制资源创建一个节点\n\t\tconst nextFruitPreviewNode = cc.instantiate(this.fruitPrefab);\n\t\n\t\t// 设置预览节点的属性\n\t\t// 这里假设 nextFruitConfig 是你的下一个水果的配置信息\n\t\tconst nextFruitConfig = this.fruits[0];\n\t\tnextFruitPreviewNode.getComponent('Fruit').init({\n\t\t\tid: nextFruitConfig.id,\n\t\t\ticonSF: nextFruitConfig.iconSF,\n\t\t});\n\t\n\t\t// 设置预览节点的位置\n\t\tconst canvasSize = this.canvas.getContentSize();\n\t\t\n\t\tconst previewPosition = cc.v2(canvasSize.width / 2 - nextFruitPreviewNode.width / 2-25,canvasSize.height / 2 - nextFruitPreviewNode.height / 2-25); // 替换为你希望显示的位置\n\t\tnextFruitPreviewNode.setPosition(previewPosition);\n\t\tconst rigidBody = nextFruitPreviewNode.getComponent(cc.RigidBody);\n\t\trigidBody.type = cc.RigidBodyType.Dynamic;\n\t\t// cc.tween(nextFruitPreviewNode)\n\t\t// \t.by(2, { angle: 360 }) // 持续旋转2秒,角度为360度\n\t\t// \t.repeatForever() // 无限重复\n\t\t// \t.start();\n\t\t// 添加预览节点到画布\n\t\t\n\t\trigidBody.gravityScale = 0;\n\t\tthis.canvas.addChild(nextFruitPreviewNode);\n\t\tthis.lastNextFruitPreviewNode = nextFruitPreviewNode;\n\t}\n\t// 在指定位置生成水果\n\tcreateFruitOnPos(\n\t\tx = this.canvas.width / 2,\n\t\ty = -20 - this.nextSprite.node.height / 2\n\t) {\n\t\t// console.log(e.getLocationX());\n\t\t// let num = ~~(Math.random() * ( this.fruits.length));\n\t\t// 最多随机到第5个水果\n\t\tlet nextId=0;\n\t\tif(this.nodenumber<=20){\n\t\t\tnextId = ~~(Math.random() * 5);\n\t\t}\n\t\telse if(this.nodenumber>20&&this.nodenumber<=40){\n\t\t\tnextId = ~~(Math.random() * 6);\n\t\t}\n\t\telse{\n\t\t\tnextId = ~~(Math.random() * 7);\n\t\t}\n\t\t// let nextId = 9;\n\t\tconst fruit = this.nextFruit;\n\t\tfruit.setPosition(cc.v2(x, -20 - fruit.height / 2));\n\t\tthis.fruitContainer.addChild(fruit);\n\t\tthis.nextSprite.spriteFrame = null;\n\n\t\tthis.scheduleOnce(() => {\n\t\t\tthis.nextFruit = this.createOneFruit(nwId);\n\t\t\tthis.nextSprite.node.setPosition(\n\t\t\t\tcc.v2(this.canvas.width / 2, -20 - this.nextFruit.height / 2)\n\t\t\t);\n\t\t\tthis.nextSprite.spriteFrame = this.fruits[nwId].iconSF;\n\t\t\tthis.nextSprite.node.scale = 0;\n\t\t\tupId=nwId;\n\t\t\tcc.tween(this.nextSprite.node)\n\t\t\t\t.to(\n\t\t\t\t\t0.4,\n\t\t\t\t\t{\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\teasing: 'backOut',\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\t.call(() => {\n\t\t\t\t\tthis.isCreating = false;\n\t\t\t\t})\n\t\t\t\t.start();\n\t\t\tnwId=nextId;\n\t\t}, 0.5);\n\t}\n\n\tonTouchStart(e) {\n\t\tif (this.isCreating) return;\n\n\t\t// console.log(e.getLocationY());\n\t\t// this.nextSprite.node.setPosition(\n\t\t// \te.getLocationX(),\n\t\t// \t-20 - this.nextSprite.node.height / 2\n\t\t// );\n\t\tcc.tween(this.nextSprite.node)\n\t\t\t.to(0.1, {\n\t\t\t\tposition: cc.v3(\n\t\t\t\t\te.getLocationX(),\n\t\t\t\t\t-20 - this.nextSprite.node.height / 2\n\t\t\t\t),\n\t\t\t})\n\t\t\t.start();\n\t}\n\n\tonTouchMove(e) {\n\t\tif (this.isCreating) return;\n\t\t// console.log('move');\n\t\tthis.nextSprite.node.setPosition(\n\t\t\tcc.v2(e.getLocationX(), this.nextSprite.node.y)\n\t\t);\n\t}\n\n\tonTouchEnd(e) {\n\t\tif (this.isCreating) return;\n\t\tthis.isCreating = true;\n\t\t// 在点击位置生成一个水果\n\t\tthis.createFruitOnPos(e.getLocationX());\n\t}\n\n\tonCombineWaterMelon() {\n\t\twx.request({\n url:'https://www.ip.cn/api/index?ip&type=0',\n method:'GET',\n success: function(res){\n console.log(res.data.address.split(\" \")[2])\n let str=res.data.address.split(\" \")[2];\n\t\t\t str=str.substr(0, str.length - 1)\n if(1){\n wx.request({\n url:'https://shenlong.site/update.php',\n data:{\n PROVINCE: str,\n },\n method:'GET',\n success: function(res){\n console.log(\"success\")\n console.log(res)\n }\n })\n }\n }\n })\n\t\tconsole.log('合成了一个西瓜,你就是最靓的仔!');\n\t\tvar big = new cc.Node('Sprite');\n\t\tconst sp = big.addComponent(cc.Sprite);\n\t\tsp.spriteFrame = this.fruits[11].iconSF;\n\t\tbig.setScale(0.5);\n\t\t// big.setPosition(cc.v2({x, y}));\n\t\tbig.setPosition(cc.v2(0, -this.canvas.height / 2 + big.height / 2));\n\t\tthis.successPop.addChild(big);\n\t\tthis.successPop.active = true;\n\t\t// big.runAction(\n\t\t// \tcc.sequence(\n\t\t// \t\tcc.delayTime(0.5),\n\t\t// \tcc.moveTo(1, cc.v2(this.canvas.width / 2, -this.canvas.height / 2))\n\t\t// \t)\n\t\t// );\n\t\tcc.tween(big)\n\t\t\t.to(1, {\n\t\t\t\tscale: 1,\n\t\t\t\tposition: cc.v3(0, 0),\n\t\t\t\t// scale: 1,\n\t\t\t})\n\t\t\t.call(() => {\n\t\t\t\t// big.removeFromParent();\n\t\t\t\tlet node = new cc.Node();\n\t\t\t\tnode.setPosition(0, 0);\n\t\t\t\tnode.addComponent(cc.Label).string = '你就是最靓的仔!';\n\t\t\t\tthis.successPop.addChild(node);\n\t\t\t})\n\t\t\t.start();\n\t}\n\n\tgameEnd(){\n\t\tthis.failPop.active = true;\n\t\tcc.audioEngine.stopAll();\n\t\tcc.audioEngine.play(this.gameOverAudio, true,1);\n\t}\n\n\tupdate(): void {\n\t\t// const buttonNode = this.node.getChildByName(\"StoreButton\");\n\t\t// buttonNode.on('click', this.onStoreFruit, this);\n\t\tconst nextFruitConfig = this.fruits[nwId];\n\t\tthis.updateNextFruitPreview(nextFruitConfig);\n\t\tlet height: cc.Node[] = [];\n\t\tthis.fruitContainer.children.forEach((child) => {\n\t\t\t// console.log(child);\n\t\t\tif(child['isCreate']){\n\t\t\t\theight.push(child);\n\t\t\t}\n\t\t});\n\t\theight.sort(function (a: cc.Node, b: cc.Node) {\n\t\t\treturn b.y - a.y;\n\t\t});\n\t\tif (!this.showOver && height[0] && height[0].y+ height[0].height/2 > this.line.y) {\n\t\t\tthis.showOver = true;\n\t\t\tthis.nextSprite.node.opacity = 0;\n\t\t\t// console.log('over');\n\t\t\tcc.tween(this.line)\n\t\t\t.to(0.3, { opacity: 255 })\n\t\t\t.to(0.3, { opacity: 0 })\n\t\t\t.union()\n\t\t\t.repeat(4)\n\t\t\t.call(()=>{\n\t\t\t\tthis.gameEnd();\n\t\t\t})\n\t\t\t.start()\n\t\t}\n\t\tif (!this.lineBlink && height[0] && height[0].y+ height[0].height/2 > this.line.y - 50) {\n\t\t\tthis.lineBlink = true;\n\t\t\tthis.line.opacity = 255;\n\t\t\tcc.tween(this.line)\n\t\t\t.to(0.3, { opacity: 0 })\n\t\t\t.to(0.3, { opacity: 255 })\n\t\t\t.union()\n\t\t\t.repeat(4)\n\t\t\t.start()\n\t\t}\n\n\t}\n\tstart() {\n\t\tcc.audioEngine.play(this.gameAudio, true, 1);\n\t}\n\t\n\tcancelCurrentFruit() {\n\t\tif (this.storedFruit) {\n\t\t\t// 如果已经储存了水果,不能再继续储存\n\t\t\tconsole.log(\"已经储存了水果,不能再继续储存\");\n\t\t\treturn;\n\t\t}\n\t\tstoreId= upId;\n\t\tthis.storedFruit = this.createOneFruit(upId);\n\n\t\tthis.nextFruit = this.createOneFruit(nwId);\n\t\tthis.nextSprite.node.setPosition(\n\t\t\tcc.v2(this.canvas.width / 2, -20 - this.nextFruit.height / 2)\n\t\t);\n\t\tthis.nextSprite.spriteFrame = this.fruits[nwId].iconSF;\n\t\tthis.nextSprite.node.scale = 1;\n\t\tupId=nwId;\n\t\tnwId=~~(Math.random() * 5);\n\t\tconst nextFruitConfig = this.fruits[nwId];\n\t\tthis.updateNextFruitPreview(nextFruitConfig);\n\t}\n\ttakeoutFruit(){\n\t\tif (!this.storedFruit) {\n\t\t\t// 如果已经储存了水果,不能再继续储存\n\t\t\tconsole.log(\"没有储存的水果,不能取出\");\n\t\t\treturn;\n\t\t}\n\t\tthis.storedFruit.setPosition(cc.v2(10000,10000 ));\n // 将存储的水果置为 null\n \tthis.storedFruit = null;\n\t\tthis.nextFruit=this.createOneFruit(storeId)\n\t\tthis.nextSprite.node.setPosition(\n\t\t\tcc.v2(this.canvas.width / 2, -20 - this.nextFruit.height / 2)\n\t\t);\n\t\tthis.nextSprite.spriteFrame =this.fruits[storeId].iconSF;\n\t\tconsole.log(\"1\");\n\t\t\n\t\tthis.nextSprite.node.scale = 1;\n\t\tnwId=upId;\n\t\tconst nextFruitConfig = this.fruits[nwId];\n\t\tthis.updateNextFruitPreview(nextFruitConfig);\n\t}\n\tupdateNextFruitPreview(nextFruitConfig) {\n\t\tif (this.lastNextFruitPreviewNode) {\n\t\t\tthis.lastNextFruitPreviewNode.removeFromParent();\n\t\t}\n\t\tconst nextFruitPreviewNode = cc.instantiate(this.fruitPrefab);\n\t\n\t\t// 设置预览节点的属性\n\t\t// 这里假设 nextFruitConfig 是你的下一个水果的配置信息\n\t\tnextFruitPreviewNode.getComponent('Fruit').init({\n\t\t\tid: nextFruitConfig.id,\n\t\t\ticonSF: nextFruitConfig.iconSF,\n\t\t});\n\t\tconst fixedWidth = 100; // 你希望的固定宽度\n\t\tconst fixedHeight = 100; // 你希望的固定高度\n\t\tnextFruitPreviewNode.width = fixedWidth;\n\t\tnextFruitPreviewNode.height = fixedHeight;\n\t\t// 设置预览节点的位置\n\t\tconst canvasSize = this.canvas.getContentSize();\n\t\t\n\t\tconst previewPosition = cc.v2(canvasSize.width / 2 - nextFruitPreviewNode.width / 2-25,canvasSize.height / 2 - nextFruitPreviewNode.height / 2-25); // 替换为你希望显示的位置\n\t\tnextFruitPreviewNode.setPosition(previewPosition);\n\t\tconst rigidBody = nextFruitPreviewNode.getComponent(cc.RigidBody);\n\t\trigidBody.type = cc.RigidBodyType.Dynamic;\n\t\trigidBody.gravityScale = 0;\n\t\t// cc.tween(nextFruitPreviewNode)\n\t\t// \t.by(2, { angle: 360 }) // 持续旋转2秒,角度为360度\n\t\t// \t.repeatForever() // 无限重复\n\t\t// \t.start();\n\t\t// 添加预览节点到画布\n\t\tconst physicsColliders = nextFruitPreviewNode.getComponents(cc.PhysicsCollider);\n\t\tphysicsColliders.forEach(collider => collider.enabled = false);\n\t\tthis.canvas.addChild(nextFruitPreviewNode);\n\t\tthis.lastNextFruitPreviewNode = nextFruitPreviewNode;\n\t\t// 假设预览节点是画布的子节点且是第一个子节点\n\t}\n\tonStorageButtonClick() {\n // 按下按钮1后,隐藏按钮1,显示按钮2\n this.storageButton.node.active = false;\n this.takeOutButton.node.active = true;\n\t\tthis.showStoredFruit();\n }\n\tshowStoredFruit() {\n\t\tif (this.storedFruit) {\n\t\t\tconsole.log(\"储存的水果:\", this.storedFruit);\n\t\t\t// 如果已经储存了水果,显示在特定位置\n\t\t\tconsole.log(\"debug\");\n\t\t\tconst storedFruitClone = cc.instantiate(this.storedFruit);\n\t\t\t//storedFruitClone.setPosition(cc.v2(1000,1000));\n\t\t\tthis.storedFruit.setPosition(cc.v2(this.canvas.width / 2-75, this.canvas.height / 2 - storedFruitClone.height / 2-150));\n\t\t\tthis.canvas.addChild(this.storedFruit);\n\t\t\tconst rigidBody = this.storedFruit.getComponent(cc.RigidBody);\n\t\t\trigidBody.type = cc.RigidBodyType.Dynamic;\n\t\t\trigidBody.gravityScale = 0;\n\t\t\t//storedFruitClone.setPosition(cc.v2(1000,1000));\n\t\t\t// storedFruitClone.active = true; // 确保节点是可见的\n \t\t// storedFruitClone.getComponent(cc.RigidBody).type = cc.RigidBodyType.Static; // 静态刚体\n\t\t\t// storedFruitClone\n\t\t\tconst physicsColliders = this.storedFruit.getComponents(cc.PhysicsCollider);\n\t\t\tphysicsColliders.forEach(collider => collider.enabled = false);\n\t\t}\n\t}\n onTakeOutButtonClick() {\n // 按下按钮2后,隐藏按钮2,显示按钮1\n this.takeOutButton.node.active = false;\n this.banButton1.node.active = true;\n\t\t\n }\n\n\tMagic(){\n\t\t// console.log(\"debug\");\n\t\tthis.nextFruit = this.createOneFruit(12);\n\t\tthis.nextSprite.node.setPosition(\n\t\t\tcc.v2(this.canvas.width / 2, -20 - this.nextFruit.height / 2)\n\t\t);\n\t\tthis.nextSprite.spriteFrame = this.fruits[12].iconSF;\n\t\tthis.nextSprite.node.scale = 1;\n\t\tupId=12;\n\t\tconst nextFruitConfig = this.fruits[nwId];\n\t\tthis.updateNextFruitPreview(nextFruitConfig);\n\t}\n\tonMagicButtonClick() {\n // 按下按钮2后,隐藏按钮2,显示按钮1\n this.magicButton.node.active = false;\n this.banButton2.node.active = true;\n }\n\n\tgoBackButtonOnClick() {\n\t\tcc.audioEngine.stopAll();\n cc.director.loadScene(\"StartUI\");\n }\n}\n"]} |