Commit cf8e5248 authored by zhangjinzhou's avatar zhangjinzhou

代码暂存233

parent f1341317
...@@ -168,5 +168,5 @@ ...@@ -168,5 +168,5 @@
} }
}, },
"id": "food-fell2", "id": "food-fell2",
"code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global['food-fell2'] = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tvar props = {};\n\tfunction prepareProps() {\n\t var metaProps = getProps();\n\t engine.injectProp(props, metaProps);\n\t}\n\tfunction injectProps(p) {\n\t engine.injectProp(props, p);\n\t}\n\n\tfunction getTextureByName(name) {\n\t return engine.Texture.from(getAssetByName(name).uuid);\n\t}\n\tfunction createSvga(name, anchorName) {\n\t var inst = new svga.Svga();\n\t inst.source = 'asset://' + getAssetByName(name).uuid;\n\t return inst;\n\t}\n\n\tvar Goods = (function (_super) {\n\t tslib.__extends(Goods, _super);\n\t function Goods() {\n\t var _this = _super.call(this) || this;\n\t var body;\n\t body = _this._body = new engine.Rect();\n\t var rain = new engine.Sprite(getTextureByName('雨滴0'));\n\t var rain1 = new engine.Sprite(getTextureByName('雨滴1'));\n\t var rain2 = new engine.Sprite(getTextureByName('雨滴2'));\n\t rain[\"npcType\"] = \"rain0\";\n\t rain1[\"npcType\"] = \"rain1\";\n\t rain2[\"npcType\"] = \"rain2\";\n\t var stone = new engine.Sprite(getTextureByName('石块'));\n\t stone[\"npcType\"] = \"stone\";\n\t var boom = new engine.Sprite(getTextureByName('炸弹'));\n\t boom[\"npcType\"] = \"boom\";\n\t rain.visible = false;\n\t rain1.visible = false;\n\t rain2.visible = false;\n\t stone.visible = false;\n\t boom.visible = false;\n\t body.addChild(rain);\n\t body.addChild(rain1);\n\t body.addChild(rain2);\n\t body.addChild(stone);\n\t body.addChild(boom);\n\t _this.addChild(body);\n\t body.width = .0001;\n\t body.height = .0001;\n\t body.mouseEnabled = false;\n\t return _this;\n\t }\n\t Goods.prototype.getRandomNumberByRange = function (start, end) {\n\t return Math.floor(Math.random() * (end - start) + start);\n\t };\n\t Goods.prototype.reset = function () {\n\t this.visible = true;\n\t this.rotation = 0;\n\t this.anchorOffsetY = 0;\n\t this.y = 0;\n\t this.x = (750 - 120) * Math.random() + 30;\n\t this.rotation = 0;\n\t var random = Math.random();\n\t if (typeof (props.goodsProbability) == 'string') {\n\t props.goodsProbability = props.goodsProbability.split(',').map(function (i) { return +i; });\n\t }\n\t if (random < props.goodsProbability[0]) {\n\t var randomNum = Math.floor(Math.random() * 3);\n\t this.showNpc(\"rain\" + randomNum);\n\t }\n\t else if (random >= props.goodsProbability[0] && random <= (props.goodsProbability[0] + props.goodsProbability[1])) {\n\t this.showNpc(\"stone\");\n\t }\n\t else if (random > (props.goodsProbability[0] + props.goodsProbability[1])) {\n\t this.showNpc(\"boom\");\n\t }\n\t };\n\t Goods.prototype.showNpc = function (type) {\n\t for (var i = 0; i < this._body.children.length; i++) {\n\t this._body.children[i].visible = false;\n\t this._body.children[i].mouseEnabled = false;\n\t }\n\t for (var i = 0; i < this._body.children.length; i++) {\n\t if (this._body.children[i][\"npcType\"] == type) {\n\t this[\"npcType\"] = type;\n\t this._body.children[i].visible = true;\n\t this._body.children[i].mouseEnabled = false;\n\t }\n\t }\n\t };\n\t Object.defineProperty(Goods.prototype, \"anchorOffsetY\", {\n\t set: function (v) {\n\t this._body.y = v;\n\t },\n\t enumerable: true,\n\t configurable: true\n\t });\n\t return Goods;\n\t}(engine.Container));\n\n\tvar ObjectPool = engine.ObjectPool;\n\tvar PoolName = 'goods';\n\tObjectPool.registerPool(PoolName, function () {\n\t return new Goods();\n\t}, function (item, data) {\n\t item.reset();\n\t});\n\n\tvar ObjectPool$1 = engine.ObjectPool;\n\tvar GameView = (function (_super) {\n\t tslib.__extends(GameView, _super);\n\t function GameView() {\n\t var _this = _super.call(this) || this;\n\t _this.goodsItems = [];\n\t _this.viewVisible = true;\n\t _this.cacheTime = 0;\n\t _this.cacheTime2 = 0;\n\t _this.moveCatchX = 0;\n\t _this.playerCatchX = 0;\n\t _this.onDownStage = function (e) {\n\t _this.moveCatchX = e.localX;\n\t _this.playerCatchX = _this.player.x;\n\t };\n\t _this.onMoveStage = function (e) {\n\t var maxStageBound = props.maxStageBound;\n\t if (_this.gameIng) {\n\t var playerX = _this.playerCatchX + (e.localX - _this.moveCatchX);\n\t if (playerX < maxStageBound) {\n\t _this.player.x = maxStageBound;\n\t }\n\t else if (playerX + _this.player.width + maxStageBound > 750) {\n\t _this.player.x = 750 - maxStageBound - _this.player.width;\n\t }\n\t else {\n\t _this.player.x = playerX;\n\t }\n\t }\n\t };\n\t _this.onOutStage = function (e) {\n\t _this.moveCatchX = 0;\n\t };\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\n\t return _this;\n\t }\n\t GameView.prototype.setup = function () {\n\t var _this = this;\n\t if (this._hasSetup) {\n\t return;\n\t }\n\t this._hasSetup = true;\n\t this.NpcBg = new engine.Container();\n\t this.NpcBg.alpha = 1;\n\t this.NpcBg.width = 0;\n\t this.NpcBg.height = 0;\n\t this.addChild(this.NpcBg);\n\t this.player = new engine.Container();\n\t this.player.mouseEnabled = false;\n\t this.addChild(this.player);\n\t this.waterSvga = createSvga(\"水花\");\n\t this.stoneSvga = createSvga(\"石头svga\");\n\t this.playerSvga = new engine.Sprite(getTextureByName('玩家'));\n\t this.boomSvga = createSvga(\"炸弹svga\");\n\t this.player.addChild(this.playerSvga);\n\t this.player.addChild(this.stoneSvga);\n\t this.player.addChild(this.waterSvga);\n\t this.player.addChild(this.boomSvga);\n\t this.waterSvga.visible = false;\n\t this.stoneSvga.visible = false;\n\t this.boomSvga.visible = false;\n\t this.visible = false;\n\t setTimeout(function () {\n\t _this.visible = true;\n\t _this.player.anchorY = _this.player.height / 2;\n\t _this.player.anchorX = _this.player.width / 2;\n\t _this.player.x = 375 - _this.player.width / 2;\n\t _this.player.y = props.playerPositionY;\n\t _this.stoneSvga.x = _this.player.width / 2 - _this.stoneSvga.width / 2 + props.boomPosition1Offset[0];\n\t _this.stoneSvga.y = _this.player.height / 2 - _this.stoneSvga.height / 2 + props.boomPosition1Offset[1];\n\t _this.waterSvga.x = _this.player.width / 2 - _this.waterSvga.width / 2 + props.boomPosition2Offset[0];\n\t _this.waterSvga.y = _this.player.height / 2 - _this.waterSvga.height / 2 + props.boomPosition2Offset[1];\n\t _this.boomSvga.x = _this.player.width / 2 - _this.boomSvga.width / 2 + props.boomPosition3Offset[0];\n\t _this.boomSvga.y = _this.player.height / 2 - _this.boomSvga.height / 2 + props.boomPosition3Offset[1];\n\t }, 300);\n\t this.rectBg = new engine.Container();\n\t this.rectBg.alpha = 0;\n\t this.rectBg.width = 750;\n\t this.rectBg.height = 1624;\n\t this.addChild(this.rectBg);\n\t this.rectBg.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDownStage, this);\n\t this.rectBg.addEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMoveStage, this);\n\t this.rectBg.addEventListener(engine.MouseEvent.MOUSE_OUT, this.onOutStage, this);\n\t document.addEventListener(\"visibilitychange\", function () {\n\t if (document.visibilityState == \"visible\") {\n\t _this.viewVisible = true;\n\t }\n\t if (document.visibilityState == \"hidden\") {\n\t _this.viewVisible = false;\n\t }\n\t });\n\t this.addEventListener(engine.Event.ENTER_FRAME, this.enterFrame, this);\n\t };\n\t GameView.prototype.enterFrame = function () {\n\t this.updateTime();\n\t this.updateTimeBeginNpc();\n\t };\n\t GameView.prototype.reset = function () {\n\t this.score = props.speed;\n\t this.recycleGoods();\n\t this.player.x = 375 - this.player.width / 2;\n\t };\n\t GameView.prototype.start = function () {\n\t this.score = 0;\n\t this.speed = 1;\n\t this.gameIng = true;\n\t this.beginNpc();\n\t this.countdown = props.countDown;\n\t };\n\t GameView.prototype.updateTime = function () {\n\t if (Date.now() - this.cacheTime > 1000) {\n\t this.cacheTime = Date.now();\n\t }\n\t else {\n\t return;\n\t }\n\t if (this.gameIng) {\n\t if (this.countdown > 0) {\n\t engine.globalEvent.dispatchEvent('food-fell-time-update', {\n\t time: this.countdown,\n\t });\n\t this.countdown -= 1;\n\t }\n\t else {\n\t engine.globalEvent.dispatchEvent('food-fell-game-over', {\n\t score: this.score,\n\t reason: 1\n\t });\n\t this.died();\n\t }\n\t }\n\t };\n\t GameView.prototype.beginNpc = function () {\n\t };\n\t GameView.prototype.updateTimeBeginNpc = function () {\n\t if (Date.now() - this.cacheTime2 > (2000 / this.speed)) {\n\t this.cacheTime2 = Date.now();\n\t }\n\t else {\n\t return;\n\t }\n\t if (this.gameIng) {\n\t this.speed += props.acceleratedSpeed;\n\t if (this.speed >= props.maxSpeed) {\n\t this.speed = props.maxSpeed;\n\t }\n\t this.creatNpc();\n\t }\n\t };\n\t GameView.prototype.pause = function () {\n\t this.gameIng = false;\n\t };\n\t GameView.prototype.revive = function () {\n\t this.gameIng = true;\n\t };\n\t GameView.prototype.resume = function () {\n\t this.reset();\n\t this.start();\n\t };\n\t GameView.prototype.creatNpc = function () {\n\t var _this = this;\n\t var goods = this._goods = ObjectPool$1.getObject(PoolName);\n\t this.goodsItems.push(goods);\n\t this.NpcBg.addChild(goods);\n\t goods.addEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"] = function () {\n\t if (goods.y > 1624) {\n\t _this.removeNpc(goods);\n\t }\n\t else {\n\t if (_this.gameIng) {\n\t goods.y += (4 * _this.speed);\n\t if (_this.hasHit(_this.player, goods)) {\n\t if (goods[\"npcType\"].indexOf(\"rain\") > -1) {\n\t _this.score += props.rainScore;\n\t _this.waterSvga.visible = true;\n\t _this.waterSvga.play(false, false);\n\t _this.waterSvga.once(engine.Event.END_FRAME, function () {\n\t _this.waterSvga.visible = false;\n\t }, _this);\n\t if (_this.score < 0) {\n\t _this.score = 0;\n\t }\n\t }\n\t else if (goods[\"npcType\"] == \"stone\") {\n\t _this.score += props.stoneScore;\n\t if (_this.score < 0) {\n\t _this.score = 0;\n\t }\n\t _this.stoneSvga.visible = true;\n\t _this.stoneSvga.play(false, false);\n\t _this.stoneSvga.once(engine.Event.END_FRAME, function () {\n\t _this.stoneSvga.visible = false;\n\t }, _this);\n\t }\n\t else if (goods[\"npcType\"] == \"boom\") {\n\t _this.boomSvga.visible = true;\n\t _this.boomSvga.play(false, false);\n\t _this.died();\n\t _this.boomSvga.once(engine.Event.END_FRAME, function () {\n\t _this.boomSvga.visible = false;\n\t engine.globalEvent.dispatchEvent('food-fell-game-over', {\n\t score: _this.score,\n\t reason: 2\n\t });\n\t }, _this);\n\t }\n\t engine.globalEvent.dispatchEvent('food-fell-score-update', {\n\t score: _this.score,\n\t });\n\t _this.removeNpc(goods);\n\t }\n\t }\n\t }\n\t }, this);\n\t };\n\t GameView.prototype.died = function () {\n\t this.pause();\n\t };\n\t GameView.prototype.removeNpc = function (goods) {\n\t this.NpcBg.removeChild(goods);\n\t ObjectPool$1.recycleObject(PoolName, goods);\n\t goods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\n\t var index = this.goodsItems.indexOf(goods);\n\t if (index > -1) {\n\t this.goodsItems.splice(index, 1);\n\t }\n\t };\n\t GameView.prototype.recycleGoods = function () {\n\t clearTimeout(this.timer);\n\t clearInterval(this.countdownTimer);\n\t for (var _i = 0, _a = this.goodsItems; _i < _a.length; _i++) {\n\t var goods = _a[_i];\n\t if (goods) {\n\t this.NpcBg.removeChild(goods);\n\t ObjectPool$1.recycleObject(PoolName, goods);\n\t goods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\n\t }\n\t }\n\t this.goodsItems = [];\n\t };\n\t GameView.prototype.hasHit = function (a, b) {\n\t var playerH = a.height;\n\t var playerW = a.width;\n\t var playerX = a.x;\n\t if (props.playerHeight) {\n\t playerH = props.playerHeight;\n\t }\n\t if (props.playerWidth) {\n\t playerW = props.playerWidth;\n\t playerX = a.x + (a.width - props.playerWidth) / 2;\n\t }\n\t if (Math.abs((playerX + playerW / 2) - (b.x + b.width / 2)) < playerW / 2 + b.width / 2\n\t &&\n\t Math.abs((a.y + playerH / 1.3) - (b.y + b.height / 2)) < playerH / 2 + b.height / 2) {\n\t return true;\n\t }\n\t else {\n\t return false;\n\t }\n\t };\n\t return GameView;\n\t}(engine.Container));\n\n\tvar GameWrapper = (function (_super) {\n\t tslib.__extends(GameWrapper, _super);\n\t function GameWrapper() {\n\t var _this = _super.call(this) || this;\n\t engine.globalEvent.addEventListener('food-fell-reset', _this.reset, _this);\n\t engine.globalEvent.addEventListener('food-fell-start', _this.start, _this);\n\t engine.globalEvent.addEventListener('food-fell-pause', _this.pause, _this);\n\t engine.globalEvent.addEventListener('food-fell-resume', _this.resume, _this);\n\t engine.globalEvent.addEventListener('food-fell-revive', _this.revive, _this);\n\t engine.globalEvent.addEventListener('food-fell-clear', _this.clear, _this);\n\t _this.addEventListener(engine.MouseEvent.CLICK, _this.onTap, _this);\n\t var gameView = _this._gameView = new GameView();\n\t _this.addChild(gameView);\n\t return _this;\n\t }\n\t GameWrapper.prototype.reset = function (event) {\n\t injectProps(event.data);\n\t this._gameView.visible = true;\n\t this._gameView.reset();\n\t };\n\t GameWrapper.prototype.start = function (event) {\n\t injectProps(event.data);\n\t this._status = 1;\n\t this._gameView.start();\n\t };\n\t GameWrapper.prototype.pause = function () {\n\t this._gameView.pause();\n\t };\n\t GameWrapper.prototype.resume = function () {\n\t this._gameView.resume();\n\t };\n\t GameWrapper.prototype.revive = function () {\n\t this._gameView.revive();\n\t };\n\t GameWrapper.prototype.clear = function () {\n\t this._gameView.visible = false;\n\t };\n\t GameWrapper.prototype.onTap = function (event) {\n\t };\n\t return GameWrapper;\n\t}(engine.Container));\n\n\tfunction index (props) {\n\t prepareProps();\n\t injectProps(props);\n\t var instance = new GameWrapper();\n\t return instance;\n\t}\n\n\treturn index;\n\n})));\n" "code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global['food-fell2'] = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tvar props = {};\r\n\tfunction prepareProps() {\r\n\t var metaProps = getProps();\r\n\t engine.injectProp(props, metaProps);\r\n\t}\r\n\tfunction injectProps(p) {\r\n\t engine.injectProp(props, p);\r\n\t}\n\n\tfunction getTextureByName(name) {\r\n\t return engine.Texture.from(getAssetByName(name).uuid);\r\n\t}\r\n\tfunction createSvga(name, anchorName) {\r\n\t var inst = new svga.Svga();\r\n\t inst.source = 'asset://' + getAssetByName(name).uuid;\r\n\t return inst;\r\n\t}\n\n\tvar Goods = (function (_super) {\r\n\t tslib.__extends(Goods, _super);\r\n\t function Goods() {\r\n\t var _this = _super.call(this) || this;\r\n\t var body;\r\n\t body = _this._body = new engine.Rect();\r\n\t var rain = new engine.Sprite(getTextureByName('雨滴0'));\r\n\t var rain1 = new engine.Sprite(getTextureByName('雨滴1'));\r\n\t var rain2 = new engine.Sprite(getTextureByName('雨滴2'));\r\n\t rain[\"npcType\"] = \"rain0\";\r\n\t rain1[\"npcType\"] = \"rain1\";\r\n\t rain2[\"npcType\"] = \"rain2\";\r\n\t var stone = new engine.Sprite(getTextureByName('石块'));\r\n\t stone[\"npcType\"] = \"stone\";\r\n\t var boom = new engine.Sprite(getTextureByName('炸弹'));\r\n\t boom[\"npcType\"] = \"boom\";\r\n\t rain.visible = false;\r\n\t rain1.visible = false;\r\n\t rain2.visible = false;\r\n\t stone.visible = false;\r\n\t boom.visible = false;\r\n\t body.addChild(rain);\r\n\t body.addChild(rain1);\r\n\t body.addChild(rain2);\r\n\t body.addChild(stone);\r\n\t body.addChild(boom);\r\n\t _this.addChild(body);\r\n\t body.width = .0001;\r\n\t body.height = .0001;\r\n\t body.mouseEnabled = false;\r\n\t return _this;\r\n\t }\r\n\t Goods.prototype.getRandomNumberByRange = function (start, end) {\r\n\t return Math.floor(Math.random() * (end - start) + start);\r\n\t };\r\n\t Goods.prototype.reset = function () {\r\n\t this.visible = true;\r\n\t this.rotation = 0;\r\n\t this.anchorOffsetY = 0;\r\n\t this.y = 0;\r\n\t this.x = (750 - 120) * Math.random() + 30;\r\n\t this.rotation = 0;\r\n\t var random = Math.random();\r\n\t if (typeof (props.goodsProbability) == 'string') {\r\n\t props.goodsProbability = props.goodsProbability.split(',').map(function (i) { return +i; });\r\n\t }\r\n\t if (random < props.goodsProbability[0]) {\r\n\t var randomNum = Math.floor(Math.random() * 3);\r\n\t this.showNpc(\"rain\" + randomNum);\r\n\t }\r\n\t else if (random >= props.goodsProbability[0] && random <= (props.goodsProbability[0] + props.goodsProbability[1])) {\r\n\t this.showNpc(\"stone\");\r\n\t }\r\n\t else if (random > (props.goodsProbability[0] + props.goodsProbability[1])) {\r\n\t this.showNpc(\"boom\");\r\n\t }\r\n\t };\r\n\t Goods.prototype.showNpc = function (type) {\r\n\t for (var i = 0; i < this._body.children.length; i++) {\r\n\t this._body.children[i].visible = false;\r\n\t this._body.children[i].mouseEnabled = false;\r\n\t }\r\n\t for (var i = 0; i < this._body.children.length; i++) {\r\n\t if (this._body.children[i][\"npcType\"] == type) {\r\n\t this[\"npcType\"] = type;\r\n\t this._body.children[i].visible = true;\r\n\t this._body.children[i].mouseEnabled = false;\r\n\t }\r\n\t }\r\n\t };\r\n\t Object.defineProperty(Goods.prototype, \"anchorOffsetY\", {\r\n\t set: function (v) {\r\n\t this._body.y = v;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t return Goods;\r\n\t}(engine.Container));\n\n\tvar ObjectPool = engine.ObjectPool;\r\n\tvar PoolName = 'goods';\r\n\tObjectPool.registerPool(PoolName, function () {\r\n\t return new Goods();\r\n\t}, function (item, data) {\r\n\t item.reset();\r\n\t});\n\n\tvar ObjectPool$1 = engine.ObjectPool;\r\n\tvar GameView = (function (_super) {\r\n\t tslib.__extends(GameView, _super);\r\n\t function GameView() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.goodsItems = [];\r\n\t _this.viewVisible = true;\r\n\t _this.cacheTime = 0;\r\n\t _this.cacheTime2 = 0;\r\n\t _this.moveCatchX = 0;\r\n\t _this.playerCatchX = 0;\r\n\t _this.onDownStage = function (e) {\r\n\t _this.moveCatchX = e.localX;\r\n\t _this.playerCatchX = _this.player.x;\r\n\t };\r\n\t _this.onMoveStage = function (e) {\r\n\t var maxStageBound = props.maxStageBound;\r\n\t if (_this.gameIng) {\r\n\t var playerX = _this.playerCatchX + (e.localX - _this.moveCatchX);\r\n\t if (playerX < maxStageBound) {\r\n\t _this.player.x = maxStageBound;\r\n\t }\r\n\t else if (playerX + _this.player.width + maxStageBound > 750) {\r\n\t _this.player.x = 750 - maxStageBound - _this.player.width;\r\n\t }\r\n\t else {\r\n\t _this.player.x = playerX;\r\n\t }\r\n\t }\r\n\t };\r\n\t _this.onOutStage = function (e) {\r\n\t _this.moveCatchX = 0;\r\n\t };\r\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\r\n\t return _this;\r\n\t }\r\n\t GameView.prototype.setup = function () {\r\n\t var _this = this;\r\n\t if (this._hasSetup) {\r\n\t return;\r\n\t }\r\n\t this._hasSetup = true;\r\n\t this.NpcBg = new engine.Container();\r\n\t this.NpcBg.alpha = 1;\r\n\t this.NpcBg.width = 0;\r\n\t this.NpcBg.height = 0;\r\n\t this.addChild(this.NpcBg);\r\n\t this.player = new engine.Container();\r\n\t this.player.mouseEnabled = false;\r\n\t this.addChild(this.player);\r\n\t this.waterSvga = createSvga(\"水花\");\r\n\t this.stoneSvga = createSvga(\"石头svga\");\r\n\t this.playerSvga = new engine.Sprite(getTextureByName('玩家'));\r\n\t this.boomSvga = createSvga(\"炸弹svga\");\r\n\t this.player.addChild(this.playerSvga);\r\n\t this.player.addChild(this.stoneSvga);\r\n\t this.player.addChild(this.waterSvga);\r\n\t this.player.addChild(this.boomSvga);\r\n\t this.waterSvga.visible = false;\r\n\t this.stoneSvga.visible = false;\r\n\t this.boomSvga.visible = false;\r\n\t this.visible = false;\r\n\t setTimeout(function () {\r\n\t _this.visible = true;\r\n\t _this.player.anchorY = _this.player.height / 2;\r\n\t _this.player.anchorX = _this.player.width / 2;\r\n\t _this.player.x = 375 - _this.player.width / 2;\r\n\t _this.player.y = props.playerPositionY;\r\n\t _this.stoneSvga.x = _this.player.width / 2 - _this.stoneSvga.width / 2 + props.boomPosition1Offset[0];\r\n\t _this.stoneSvga.y = _this.player.height / 2 - _this.stoneSvga.height / 2 + props.boomPosition1Offset[1];\r\n\t _this.waterSvga.x = _this.player.width / 2 - _this.waterSvga.width / 2 + props.boomPosition2Offset[0];\r\n\t _this.waterSvga.y = _this.player.height / 2 - _this.waterSvga.height / 2 + props.boomPosition2Offset[1];\r\n\t _this.boomSvga.x = _this.player.width / 2 - _this.boomSvga.width / 2 + props.boomPosition3Offset[0];\r\n\t _this.boomSvga.y = _this.player.height / 2 - _this.boomSvga.height / 2 + props.boomPosition3Offset[1];\r\n\t }, 300);\r\n\t this.rectBg = new engine.Container();\r\n\t this.rectBg.alpha = 0;\r\n\t this.rectBg.width = 750;\r\n\t this.rectBg.height = 1624;\r\n\t this.addChild(this.rectBg);\r\n\t this.rectBg.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDownStage, this);\r\n\t this.rectBg.addEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMoveStage, this);\r\n\t this.rectBg.addEventListener(engine.MouseEvent.MOUSE_OUT, this.onOutStage, this);\r\n\t document.addEventListener(\"visibilitychange\", function () {\r\n\t if (document.visibilityState == \"visible\") {\r\n\t _this.viewVisible = true;\r\n\t }\r\n\t if (document.visibilityState == \"hidden\") {\r\n\t _this.viewVisible = false;\r\n\t }\r\n\t });\r\n\t this.addEventListener(engine.Event.ENTER_FRAME, this.enterFrame, this);\r\n\t };\r\n\t GameView.prototype.enterFrame = function () {\r\n\t this.updateTime();\r\n\t this.updateTimeBeginNpc();\r\n\t };\r\n\t GameView.prototype.reset = function () {\r\n\t this.score = props.speed;\r\n\t this.recycleGoods();\r\n\t this.player.x = 375 - this.player.width / 2;\r\n\t };\r\n\t GameView.prototype.start = function () {\r\n\t this.score = 0;\r\n\t this.speed = 1;\r\n\t this.gameIng = true;\r\n\t this.beginNpc();\r\n\t this.countdown = props.countDown;\r\n\t };\r\n\t GameView.prototype.updateTime = function () {\r\n\t if (Date.now() - this.cacheTime > 1000) {\r\n\t this.cacheTime = Date.now();\r\n\t }\r\n\t else {\r\n\t return;\r\n\t }\r\n\t if (this.gameIng) {\r\n\t if (this.countdown > 0) {\r\n\t engine.globalEvent.dispatchEvent('food-fell-time-update', {\r\n\t time: this.countdown,\r\n\t });\r\n\t this.countdown -= 1;\r\n\t }\r\n\t else {\r\n\t engine.globalEvent.dispatchEvent('food-fell-game-over', {\r\n\t score: this.score,\r\n\t reason: 1\r\n\t });\r\n\t this.died();\r\n\t }\r\n\t }\r\n\t };\r\n\t GameView.prototype.beginNpc = function () {\r\n\t };\r\n\t GameView.prototype.updateTimeBeginNpc = function () {\r\n\t if (Date.now() - this.cacheTime2 > (2000 / this.speed)) {\r\n\t this.cacheTime2 = Date.now();\r\n\t }\r\n\t else {\r\n\t return;\r\n\t }\r\n\t if (this.gameIng) {\r\n\t this.speed += props.acceleratedSpeed;\r\n\t if (this.speed >= props.maxSpeed) {\r\n\t this.speed = props.maxSpeed;\r\n\t }\r\n\t this.creatNpc();\r\n\t }\r\n\t };\r\n\t GameView.prototype.pause = function () {\r\n\t this.gameIng = false;\r\n\t };\r\n\t GameView.prototype.revive = function () {\r\n\t this.gameIng = true;\r\n\t };\r\n\t GameView.prototype.resume = function () {\r\n\t this.reset();\r\n\t this.start();\r\n\t };\r\n\t GameView.prototype.creatNpc = function () {\r\n\t var _this = this;\r\n\t var goods = this._goods = ObjectPool$1.getObject(PoolName);\r\n\t this.goodsItems.push(goods);\r\n\t this.NpcBg.addChild(goods);\r\n\t goods.addEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"] = function () {\r\n\t if (goods.y > 1624) {\r\n\t _this.removeNpc(goods);\r\n\t }\r\n\t else {\r\n\t if (_this.gameIng) {\r\n\t goods.y += (4 * _this.speed);\r\n\t if (_this.hasHit(_this.player, goods)) {\r\n\t if (goods[\"npcType\"].indexOf(\"rain\") > -1) {\r\n\t _this.score += props.rainScore;\r\n\t _this.waterSvga.visible = true;\r\n\t _this.waterSvga.play(false, false);\r\n\t _this.waterSvga.once(engine.Event.END_FRAME, function () {\r\n\t _this.waterSvga.visible = false;\r\n\t }, _this);\r\n\t if (_this.score < 0) {\r\n\t _this.score = 0;\r\n\t }\r\n\t }\r\n\t else if (goods[\"npcType\"] == \"stone\") {\r\n\t _this.score += props.stoneScore;\r\n\t if (_this.score < 0) {\r\n\t _this.score = 0;\r\n\t }\r\n\t _this.stoneSvga.visible = true;\r\n\t _this.stoneSvga.play(false, false);\r\n\t _this.stoneSvga.once(engine.Event.END_FRAME, function () {\r\n\t _this.stoneSvga.visible = false;\r\n\t }, _this);\r\n\t }\r\n\t else if (goods[\"npcType\"] == \"boom\") {\r\n\t _this.boomSvga.visible = true;\r\n\t _this.boomSvga.play(false, false);\r\n\t _this.died();\r\n\t _this.boomSvga.once(engine.Event.END_FRAME, function () {\r\n\t _this.boomSvga.visible = false;\r\n\t engine.globalEvent.dispatchEvent('food-fell-game-over', {\r\n\t score: _this.score,\r\n\t reason: 2\r\n\t });\r\n\t }, _this);\r\n\t }\r\n\t engine.globalEvent.dispatchEvent('food-fell-score-update', {\r\n\t score: _this.score,\r\n\t });\r\n\t _this.removeNpc(goods);\r\n\t }\r\n\t }\r\n\t }\r\n\t }, this);\r\n\t };\r\n\t GameView.prototype.died = function () {\r\n\t this.pause();\r\n\t };\r\n\t GameView.prototype.removeNpc = function (goods) {\r\n\t this.NpcBg.removeChild(goods);\r\n\t ObjectPool$1.recycleObject(PoolName, goods);\r\n\t goods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\r\n\t var index = this.goodsItems.indexOf(goods);\r\n\t if (index > -1) {\r\n\t this.goodsItems.splice(index, 1);\r\n\t }\r\n\t };\r\n\t GameView.prototype.recycleGoods = function () {\r\n\t clearTimeout(this.timer);\r\n\t clearInterval(this.countdownTimer);\r\n\t for (var _i = 0, _a = this.goodsItems; _i < _a.length; _i++) {\r\n\t var goods = _a[_i];\r\n\t if (goods) {\r\n\t this.NpcBg.removeChild(goods);\r\n\t ObjectPool$1.recycleObject(PoolName, goods);\r\n\t goods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\r\n\t }\r\n\t }\r\n\t this.goodsItems = [];\r\n\t };\r\n\t GameView.prototype.hasHit = function (a, b) {\r\n\t var playerH = a.height;\r\n\t var playerW = a.width;\r\n\t var playerX = a.x;\r\n\t if (props.playerHeight) {\r\n\t playerH = props.playerHeight;\r\n\t }\r\n\t if (props.playerWidth) {\r\n\t playerW = props.playerWidth;\r\n\t playerX = a.x + (a.width - props.playerWidth) / 2;\r\n\t }\r\n\t if (Math.abs((playerX + playerW / 2) - (b.x + b.width / 2)) < playerW / 2 + b.width / 2\r\n\t &&\r\n\t Math.abs((a.y + playerH / 1.3) - (b.y + b.height / 2)) < playerH / 2 + b.height / 2) {\r\n\t return true;\r\n\t }\r\n\t else {\r\n\t return false;\r\n\t }\r\n\t };\r\n\t return GameView;\r\n\t}(engine.Container));\n\n\tvar GameWrapper = (function (_super) {\r\n\t tslib.__extends(GameWrapper, _super);\r\n\t function GameWrapper() {\r\n\t var _this = _super.call(this) || this;\r\n\t engine.globalEvent.addEventListener('food-fell-reset', _this.reset, _this);\r\n\t engine.globalEvent.addEventListener('food-fell-start', _this.start, _this);\r\n\t engine.globalEvent.addEventListener('food-fell-pause', _this.pause, _this);\r\n\t engine.globalEvent.addEventListener('food-fell-resume', _this.resume, _this);\r\n\t engine.globalEvent.addEventListener('food-fell-revive', _this.revive, _this);\r\n\t engine.globalEvent.addEventListener('food-fell-clear', _this.clear, _this);\r\n\t _this.addEventListener(engine.MouseEvent.CLICK, _this.onTap, _this);\r\n\t var gameView = _this._gameView = new GameView();\r\n\t _this.addChild(gameView);\r\n\t return _this;\r\n\t }\r\n\t GameWrapper.prototype.reset = function (event) {\r\n\t injectProps(event.data);\r\n\t this._gameView.visible = true;\r\n\t this._gameView.reset();\r\n\t };\r\n\t GameWrapper.prototype.start = function (event) {\r\n\t injectProps(event.data);\r\n\t this._status = 1;\r\n\t this._gameView.start();\r\n\t };\r\n\t GameWrapper.prototype.pause = function () {\r\n\t this._gameView.pause();\r\n\t };\r\n\t GameWrapper.prototype.resume = function () {\r\n\t this._gameView.resume();\r\n\t };\r\n\t GameWrapper.prototype.revive = function () {\r\n\t this._gameView.revive();\r\n\t };\r\n\t GameWrapper.prototype.clear = function () {\r\n\t this._gameView.visible = false;\r\n\t };\r\n\t GameWrapper.prototype.onTap = function (event) {\r\n\t };\r\n\t return GameWrapper;\r\n\t}(engine.Container));\n\n\tfunction index (props) {\r\n\t prepareProps();\r\n\t injectProps(props);\r\n\t var instance = new GameWrapper();\r\n\t return instance;\r\n\t}\n\n\treturn index;\n\n})));\n"
} }
{
"name": "国庆弹球",
"desc": "弹球抽奖模块",
"props": {
"guideText1": {
"alias": "引导1的文本",
"type": "string",
"default": "长按屏幕\n杆子变长即可通过"
},
"dotsarr": {
"alias": "碰撞圆点",
"type": "array<number>",
"default": "1,1,2,3,4,5"
}
},
"assets": [
{
"name": "gamebg",
"url": "//yun.duiba.com.cn/aurora/assets/21070d5b302402f69b9019616c647097961fd3ab.png",
"uuid": "gamebg",
"ext": ".png"
},
{
"name": "topimg",
"url": "//yun.duiba.com.cn/aurora/assets/754d7b059f021396f236b6380eb55f035060e37c.png",
"uuid": "topimg",
"ext": ".png"
},
{
"name": "ball",
"url": "//yun.duiba.com.cn/aurora/assets/1d87dcd08eded84a3d822a8d20fdd4824d7094b8.png",
"uuid": "ball",
"ext": ".png"
},
{
"name": "cuizi",
"url": "//yun.duiba.com.cn/aurora/assets/8a76770e4da012ac2a18b21e4d5a39851584077f.png",
"uuid": "cuizi",
"ext": ".png"
},
{
"name": "dot",
"url": "//yun.duiba.com.cn/aurora/assets/163e0fe5b25b81c9d3d1733b24dc5a52dce166f0.png",
"uuid": "dot",
"ext": ".png"
}
],
"events": {
"in": {
"game-mousedown": {
"alias": "按下",
"data": {}
},
"game-mouseup": {
"alias": "松手发射",
"data": {}
},
"game-reset": {
"alias": "重置游戏",
"data": {}
},
"game-init": {
"alias": "初始化游戏",
"data": {}
}
},
"out": {
"game-over": {
"alias": "落球完毕",
"data": {}
}
}
},
"id": "gqtq-game",
"code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global['gqtq-game'] = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tvar props = {};\r\n\tfunction prepareProps() {\r\n\t var metaProps = getProps();\r\n\t engine.injectProp(props, metaProps);\r\n\t}\r\n\tfunction injectProps(p) {\r\n\t engine.injectProp(props, p);\r\n\t}\r\n\t//# sourceMappingURL=props.js.map\n\n\tfunction getTexture(uuid) {\r\n\t return engine.Texture.from(getAssetByUUID(uuid).uuid);\r\n\t}\r\n\tfunction getTextureByName(name) {\r\n\t return getTexture(engine.getAssetByName(name).uuid);\r\n\t}\r\n\t//# sourceMappingURL=utils.js.map\n\n\tvar configData = (function () {\r\n\t function configData() {\r\n\t }\r\n\t configData.get1v2c = function (a, b, c) {\r\n\t var r1 = (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);\r\n\t var r2 = (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);\r\n\t var r = Math.min(r1, r2);\r\n\t if (r1 < 0) {\r\n\t r = r2;\r\n\t }\r\n\t if (r2 < 0) {\r\n\t r = r1;\r\n\t }\r\n\t r = Math.ceil(r);\r\n\t return r;\r\n\t };\r\n\t configData.getFirstDot = function (v) {\r\n\t var minv = this.maxspeed;\r\n\t var maxv = this.minspeed;\r\n\t var levelv = (maxv - minv) / 5;\r\n\t var inx = 0;\r\n\t var ltr = 0;\r\n\t for (var i = 0; i < 5; i++) {\r\n\t var istartv = maxv - levelv * i;\r\n\t var iendv = istartv - levelv;\r\n\t if (v >= iendv) {\r\n\t inx = configData.dotsarr.line1.length - 1 - (i);\r\n\t var iendv1 = istartv - levelv / 2;\r\n\t if (v >= iendv1) {\r\n\t ltr = 1;\r\n\t }\r\n\t else {\r\n\t ltr = 0;\r\n\t }\r\n\t break;\r\n\t }\r\n\t }\r\n\t return [inx, ltr];\r\n\t };\r\n\t configData.initDotInfo = function () {\r\n\t for (var r in this.dotsarr) {\r\n\t var rline = this.dotsarr[r];\r\n\t for (var i = 0; i < rline.length; i++) {\r\n\t var idot = rline[i];\r\n\t var hasl = true;\r\n\t var hasr = true;\r\n\t var lfromu = new Array();\r\n\t var rformu = new Array();\r\n\t switch (r) {\r\n\t case \"line1\":\r\n\t break;\r\n\t case \"line2\":\r\n\t if (i == 0) {\r\n\t hasl = false;\r\n\t }\r\n\t else if (i == 6) {\r\n\t hasr = false;\r\n\t }\r\n\t if (hasl) {\r\n\t var uil = i - 1;\r\n\t if (this.dotsarr.line1[uil]) {\r\n\t lfromu.push([\"line1\", uil, 1]);\r\n\t }\r\n\t var uir = i;\r\n\t if (this.dotsarr.line1[uir]) {\r\n\t lfromu.push([\"line1\", uir, 0]);\r\n\t }\r\n\t var uil1 = i - 2;\r\n\t if (this.dotsarr.line1[uil1]) {\r\n\t lfromu.push([\"line1\", uil1, 1]);\r\n\t }\r\n\t }\r\n\t if (hasr) {\r\n\t var uir = i - 1;\r\n\t if (this.dotsarr.line1[uir]) {\r\n\t rformu.push([\"line1\", uir, 1]);\r\n\t }\r\n\t var uil = i;\r\n\t if (this.dotsarr.line1[uil]) {\r\n\t rformu.push([\"line1\", uil, 0]);\r\n\t }\r\n\t var uil1 = i - 2;\r\n\t if (this.dotsarr.line1[uil1]) {\r\n\t lfromu.push([\"line1\", uil1, 1]);\r\n\t }\r\n\t }\r\n\t break;\r\n\t case \"line3\":\r\n\t if (i == 0) {\r\n\t hasl = false;\r\n\t }\r\n\t else if (i == 6) {\r\n\t hasr = false;\r\n\t }\r\n\t if (hasl) {\r\n\t var uil = i - 1;\r\n\t if (this.dotsarr.line2[uil]) {\r\n\t lfromu.push([\"line2\", uil, 1]);\r\n\t }\r\n\t var uir = i + 1;\r\n\t if (this.dotsarr.line2[uir]) {\r\n\t lfromu.push([\"line2\", uir, 0]);\r\n\t }\r\n\t }\r\n\t if (hasr) {\r\n\t var uir = i - 1;\r\n\t if (this.dotsarr.line2[uir]) {\r\n\t rformu.push([\"line2\", uir, 1]);\r\n\t }\r\n\t var uil = i + 1;\r\n\t if (this.dotsarr.line2[uil]) {\r\n\t rformu.push([\"line2\", uil, 0]);\r\n\t }\r\n\t }\r\n\t break;\r\n\t case \"line4\":\r\n\t if (i == 0) {\r\n\t hasl = false;\r\n\t }\r\n\t else if (i == 6) {\r\n\t hasr = false;\r\n\t }\r\n\t if (hasl) {\r\n\t var uil = i - 1;\r\n\t if (this.dotsarr.line3[uil]) {\r\n\t lfromu.push([\"line3\", uil, 1]);\r\n\t }\r\n\t var uir = i + 1;\r\n\t if (this.dotsarr.line3[uir]) {\r\n\t lfromu.push([\"line3\", uir, 0]);\r\n\t }\r\n\t }\r\n\t if (hasr) {\r\n\t var uir = i - 1;\r\n\t if (this.dotsarr.line3[uir]) {\r\n\t rformu.push([\"line3\", uir, 0]);\r\n\t }\r\n\t var uil = i + 1;\r\n\t if (this.dotsarr.line3[uil]) {\r\n\t rformu.push([\"line3\", uil, 0]);\r\n\t }\r\n\t }\r\n\t break;\r\n\t case \"line5\":\r\n\t if (i == 0) {\r\n\t hasl = false;\r\n\t }\r\n\t else if (i == 7) {\r\n\t hasr = false;\r\n\t }\r\n\t if (hasl) {\r\n\t var uil = i - 1;\r\n\t if (this.dotsarr.line4[uil]) {\r\n\t lfromu.push([\"line4\", uil, 1]);\r\n\t }\r\n\t var uir = i;\r\n\t if (this.dotsarr.line4[uir]) {\r\n\t lfromu.push([\"line4\", uir, 0]);\r\n\t }\r\n\t }\r\n\t if (hasr) {\r\n\t var uir = i - 1;\r\n\t if (this.dotsarr.line4[uir]) {\r\n\t rformu.push([\"line4\", uir, 1]);\r\n\t }\r\n\t var uil = i;\r\n\t if (this.dotsarr.line4[uil]) {\r\n\t rformu.push([\"line4\", uil, 0]);\r\n\t }\r\n\t }\r\n\t break;\r\n\t case \"line6\":\r\n\t if (i == 0) {\r\n\t hasl = false;\r\n\t }\r\n\t else if (i == 7) {\r\n\t hasr = false;\r\n\t }\r\n\t if (i == 0) {\r\n\t rformu = [[\"line5\", 1, 0]];\r\n\t }\r\n\t else if (i == 1) {\r\n\t lfromu = [[\"line5\", 0, 1], [\"line5\", 2, 0]];\r\n\t rformu = [[\"line5\", 0, 1], [\"line5\", 2, 0]];\r\n\t }\r\n\t else if (i == 2) {\r\n\t lfromu = [[\"line5\", 1, 1], [\"line5\", 3, 0]];\r\n\t rformu = [[\"line5\", 1, 1], [\"line5\", 3, 0]];\r\n\t }\r\n\t else if (i == 3) {\r\n\t lfromu = [[\"line5\", 2, 1], [\"line5\", 4, 0]];\r\n\t rformu = [[\"line5\", 2, 1], [\"line5\", 4, 0]];\r\n\t }\r\n\t else if (i == 4) {\r\n\t lfromu = [[\"line5\", 3, 1], [\"line5\", 5, 0]];\r\n\t rformu = [[\"line5\", 3, 1], [\"line5\", 5, 0]];\r\n\t }\r\n\t else if (i == 5) {\r\n\t lfromu = [[\"line5\", 4, 1], [\"line5\", 6, 0]];\r\n\t rformu = [[\"line5\", 4, 1], [\"line5\", 6, 0]];\r\n\t }\r\n\t else if (i == 6) {\r\n\t lfromu = [[\"line5\", 5, 1], [\"line5\", 7, 0]];\r\n\t rformu = [[\"line5\", 5, 1], [\"line5\", 7, 0]];\r\n\t }\r\n\t else if (i == 7) {\r\n\t lfromu = [[\"line5\", 6, 1]];\r\n\t }\r\n\t break;\r\n\t default:\r\n\t console.error(\"未定义initDotInfo===》\", r);\r\n\t }\r\n\t var lar = new Array();\r\n\t lar.push(hasl, hasr);\r\n\t idot.push(lar);\r\n\t var updot = {\r\n\t 0: lfromu,\r\n\t 1: rformu\r\n\t };\r\n\t idot.push(updot);\r\n\t }\r\n\t }\r\n\t for (var p1 in this.prizeUp) {\r\n\t var p1data = this.prizeUp[p1];\r\n\t for (var i1 = 0; i1 < p1data.length; i1++) {\r\n\t var i1data = p1data[i1];\r\n\t var i1line = [i1data];\r\n\t this.findUpInfo(i1data, i1line, p1);\r\n\t }\r\n\t }\r\n\t this.allines[\"6\"][\"0_1\"] = [\r\n\t [\r\n\t [\"line6\", 7, 0],\r\n\t [\"line5\", 6, 1],\r\n\t [\"line4\", 4, 1],\r\n\t [\"line3\", 3, 1],\r\n\t [\"line2\", 2, 1],\r\n\t [\"line1\", 0, 1],\r\n\t ],\r\n\t [\r\n\t [\"line6\", 6, 1],\r\n\t [\"line5\", 5, 1],\r\n\t [\"line4\", 4, 1],\r\n\t [\"line3\", 3, 1],\r\n\t [\"line2\", 2, 1],\r\n\t [\"line1\", 0, 1],\r\n\t ]\r\n\t ];\r\n\t console.log(\"所有的路径========》》\", this.allines);\r\n\t };\r\n\t configData.findUpInfo = function (dotinfo, line, p1) {\r\n\t var dotline = dotinfo[0];\r\n\t var dotidx = dotinfo[1];\r\n\t var dotlor = dotinfo[2];\r\n\t var indata = this.dotsarr[dotline];\r\n\t var indot = indata[dotidx];\r\n\t var indotfromdir = indot[3][dotlor];\r\n\t if (indotfromdir && indotfromdir.length > 0) {\r\n\t for (var i2 = 0; i2 < indotfromdir.length; i2++) {\r\n\t var i1data = indotfromdir[i2];\r\n\t var i1line = tslib.__spreadArrays(line.concat(), [i1data]);\r\n\t this.findUpInfo(i1data, i1line, p1);\r\n\t }\r\n\t }\r\n\t else {\r\n\t var lastdot = line[line.length - 1];\r\n\t if (lastdot[0] == \"line1\") {\r\n\t if (!this.allines[p1]) {\r\n\t this.allines[p1] = {};\r\n\t }\r\n\t var lastdotinfo = lastdot[1] + \"_\" + lastdot[2];\r\n\t if (!this.allines[p1][lastdotinfo]) {\r\n\t this.allines[p1][lastdotinfo] = [];\r\n\t }\r\n\t this.allines[p1][lastdotinfo].push(line);\r\n\t }\r\n\t }\r\n\t };\r\n\t configData.getLines = function (v, prizeidx) {\r\n\t var line = new Array();\r\n\t var firstdot = this.getFirstDot(v);\r\n\t line.push(firstdot);\r\n\t var finadot = this.prizeUp[prizeidx];\r\n\t var firstinfo = tslib.__spreadArrays([\"line1\"], firstdot);\r\n\t var allines = new Array();\r\n\t var prizeAlline = this.allines[prizeidx];\r\n\t for (var k in prizeAlline) {\r\n\t var kstart = k.split(\"_\")[0];\r\n\t if (kstart == firstinfo[1]) {\r\n\t allines.push(k);\r\n\t }\r\n\t }\r\n\t var selidx = Math.floor(Math.random() * allines.length);\r\n\t var seline1 = prizeAlline[allines[selidx]];\r\n\t var seline = seline1[Math.floor(Math.random() * seline1.length)];\r\n\t return seline;\r\n\t };\r\n\t configData.time1 = 100;\r\n\t configData.time2 = 200;\r\n\t configData.time3 = 800;\r\n\t configData.maxspeed = -1;\r\n\t configData.minspeed = -0.5;\r\n\t configData.g = 1 / 100000;\r\n\t configData.radius = 20;\r\n\t configData.dotrows = 5;\r\n\t configData.dotsarr = {\r\n\t line1: [\r\n\t [113, 87],\r\n\t [181, 87],\r\n\t [245, 87],\r\n\t [311, 87],\r\n\t [377, 87],\r\n\t ],\r\n\t line2: [\r\n\t [60, 157],\r\n\t [129, 157],\r\n\t [194, 157],\r\n\t [259, 157],\r\n\t [325, 157],\r\n\t [387, 157],\r\n\t [453, 157],\r\n\t ],\r\n\t line3: [\r\n\t [72, 232],\r\n\t [135, 232],\r\n\t [202, 232],\r\n\t [268, 232],\r\n\t [328, 232],\r\n\t [396, 232],\r\n\t [453, 232],\r\n\t ],\r\n\t line4: [\r\n\t [64, 300],\r\n\t [127, 300],\r\n\t [190, 300],\r\n\t [258, 300],\r\n\t [319, 300],\r\n\t [387, 300],\r\n\t [444, 300],\r\n\t ],\r\n\t line5: [\r\n\t [-10, 370],\r\n\t [95, 370],\r\n\t [159, 370],\r\n\t [227, 370],\r\n\t [292, 370],\r\n\t [353, 370],\r\n\t [418, 370],\r\n\t [478, 370],\r\n\t ],\r\n\t line6: [\r\n\t [-10, 440],\r\n\t [73, 440],\r\n\t [145, 440],\r\n\t [217, 440],\r\n\t [287, 440],\r\n\t [363, 440],\r\n\t [431, 440],\r\n\t [507, 440],\r\n\t ],\r\n\t };\r\n\t configData.prizeUp = {\r\n\t 0: [[\"line6\", 0, 1], [\"line6\", 1, 0], [\"line5\", 0, 1]],\r\n\t 1: [[\"line6\", 1, 1], [\"line6\", 2, 0]],\r\n\t 2: [[\"line6\", 2, 1], [\"line6\", 3, 0]],\r\n\t 3: [[\"line6\", 3, 1], [\"line6\", 4, 0]],\r\n\t 4: [[\"line6\", 4, 1], [\"line6\", 5, 0]],\r\n\t 5: [[\"line6\", 5, 1], [\"line6\", 6, 0]],\r\n\t 6: [[\"line6\", 6, 1], [\"line6\", 7, 0]]\r\n\t };\r\n\t configData.prizePos = {\r\n\t 0: [42, 494],\r\n\t 1: [118, 494],\r\n\t 2: [192, 494],\r\n\t 3: [262, 494],\r\n\t 4: [336, 494],\r\n\t 5: [408, 494],\r\n\t 6: [480, 494],\r\n\t };\r\n\t configData.allines = {};\r\n\t return configData;\r\n\t}());\r\n\t//# sourceMappingURL=configData.js.map\n\n\tvar Ball = (function (_super) {\r\n\t tslib.__extends(Ball, _super);\r\n\t function Ball() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.linesarr = [];\r\n\t _this.lines = [];\r\n\t _this.lastframetime = Date.now();\r\n\t _this.lt2 = 0;\r\n\t _this.texture = getTextureByName(\"ball\");\r\n\t _this.anchorX = 24;\r\n\t _this.anchorY = 24;\r\n\t return _this;\r\n\t }\r\n\t Ball.prototype.startmove = function (propower, prizeid) {\r\n\t var _this = this;\r\n\t var time1 = configData.time1;\r\n\t this.prizeid = prizeid;\r\n\t engine.Tween.removeTweens(this);\r\n\t engine.Tween.get(this)\r\n\t .to({\r\n\t y: 490\r\n\t }, time1, engine.Ease.quadOut)\r\n\t .call(function () {\r\n\t _this.movetime = 0;\r\n\t _this.vx = 0;\r\n\t _this.vy = (configData.maxspeed - configData.minspeed) * propower + configData.minspeed;\r\n\t _this.lines = configData.getLines(_this.vy, _this.prizeid);\r\n\t console.error(\"选中的路径====》\", _this.lines);\r\n\t console.error(\"检查233\", propower, prizeid);\r\n\t _this.ltime1 = configData.get1v2c(configData.g / 2, _this.vy, 340);\r\n\t _this.lastframetime = Date.now();\r\n\t _this.addEventListener(engine.Event.ENTER_FRAME, _this.updategame, _this);\r\n\t });\r\n\t };\r\n\t Ball.prototype.updategame = function () {\r\n\t var ntime = Date.now();\r\n\t var passtime = ntime - this.lastframetime;\r\n\t var movet1 = 0;\r\n\t var movet2 = 0;\r\n\t var g = configData.g;\r\n\t var npx = this.x;\r\n\t var npy = this.y;\r\n\t if (this.movetime < this.ltime1) {\r\n\t if (this.movetime + passtime > this.ltime1) {\r\n\t movet1 = this.ltime1 - this.movetime;\r\n\t passtime -= movet1;\r\n\t }\r\n\t else {\r\n\t movet1 = passtime;\r\n\t passtime = -1;\r\n\t }\r\n\t this.movetime += movet1;\r\n\t npy += this.vy * movet1 + g * movet1 * movet1 / 2;\r\n\t npx += this.vx * movet1;\r\n\t this.vy += g * movet1;\r\n\t if (passtime > 0) {\r\n\t var ltime2 = Math.floor(-140 * 2 / this.vy);\r\n\t this.ltime2 = ltime2 + this.ltime1;\r\n\t this.g2 = -this.vy / ltime2;\r\n\t console.error(\"第二阶段====\", this.ltime2, this.movetime, this.ltime1, this.vy, this.vx, this.g2, ltime2);\r\n\t }\r\n\t }\r\n\t if (passtime > 0) {\r\n\t if (this.movetime < this.ltime2) {\r\n\t if (this.movetime + passtime > this.ltime2) {\r\n\t movet2 = this.ltime2 - this.movetime;\r\n\t passtime -= movet2;\r\n\t }\r\n\t else {\r\n\t movet2 = passtime;\r\n\t passtime = -1;\r\n\t }\r\n\t this.lt2 += movet2;\r\n\t this.movetime += movet2;\r\n\t var chay = this.vy * movet2 + this.g2 * movet2 * movet2 / 2;\r\n\t var chax = this.vx * movet2 - this.g2 * movet2 * movet2 / 2;\r\n\t npy += chay;\r\n\t npx += chax;\r\n\t this.vx -= this.g2 * movet2;\r\n\t this.vy += this.g2 * movet2;\r\n\t if (passtime > 0) {\r\n\t console.error(\"曲线运动结束==\", this.vx, this.vy, this.movetime, this.lt2);\r\n\t var maxlx = configData.dotsarr.line1[0][0] - npx;\r\n\t var movey = configData.dotsarr.line1[0][1] - npy;\r\n\t var g3 = configData.g * 100;\r\n\t var ltime3 = Math.ceil(Math.sqrt(2 * movey / g3));\r\n\t this.ltime3 = ltime3 + this.ltime2;\r\n\t this.g3 = g3;\r\n\t engine.globalEvent.dispatchEvent(\"fall-ball\");\r\n\t this.TweenMoveThir();\r\n\t this.overmove();\r\n\t return;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (passtime > 0) {\r\n\t console.error(\"曲线运动结束233\");\r\n\t engine.globalEvent.dispatchEvent(\"fall-ball\");\r\n\t this.TweenMoveThir();\r\n\t this.overmove();\r\n\t }\r\n\t this.x = npx;\r\n\t this.y = npy;\r\n\t this.lastframetime = ntime;\r\n\t };\r\n\t Ball.prototype.TweenMoveThir = function () {\r\n\t var nx = this.x;\r\n\t var ny = this.y;\r\n\t var linepos = [];\r\n\t var ballwid = 48;\r\n\t var dotwid = 20;\r\n\t engine.Tween.removeTweens(this);\r\n\t for (var i = this.lines.length - 1; i > -1; i--) {\r\n\t var idotinfo = this.lines[i];\r\n\t var inline = idotinfo[0];\r\n\t var inidx = idotinfo[1];\r\n\t var inlor = idotinfo[2];\r\n\t var indot = configData.dotsarr[inline][inidx];\r\n\t var indotx = indot[0];\r\n\t var indoty = indot[1];\r\n\t var tpos1 = void 0;\r\n\t if (inlor == 0) {\r\n\t tpos1 = [indotx - ballwid, indoty + dotwid / 2 - ballwid / 2];\r\n\t }\r\n\t else {\r\n\t tpos1 = [indotx + dotwid, indoty + dotwid / 2 - ballwid / 2];\r\n\t }\r\n\t var chax = nx - tpos1[0];\r\n\t var chay = ny - tpos1[1];\r\n\t linepos.push(tpos1);\r\n\t }\r\n\t var twmove = engine.Tween.get(this);\r\n\t for (var m = 0; m < linepos.length; m++) {\r\n\t var mpos = linepos[m];\r\n\t var mposx = mpos[0];\r\n\t var mposy = mpos[1];\r\n\t var lengx = nx - mposx;\r\n\t var lengy = ny - mposy;\r\n\t nx = mposx;\r\n\t ny = mposy;\r\n\t var lengt = Math.ceil(Math.sqrt(lengx * lengx + lengy * lengy) / 0.8);\r\n\t twmove\r\n\t .to({\r\n\t x: mposx,\r\n\t y: mposy\r\n\t }, lengt);\r\n\t if (m == linepos.length - 1) {\r\n\t var finaposx = configData.prizePos[this.prizeid][0] - ballwid / 2;\r\n\t var finaposy = configData.prizePos[this.prizeid][1] - ballwid;\r\n\t var finalengx = nx - finaposx;\r\n\t var finalengy = ny - finaposy;\r\n\t var finat = Math.ceil(Math.sqrt(finalengx * finalengx + finalengy * finalengy) / 0.8);\r\n\t twmove.to({\r\n\t x: finaposx,\r\n\t y: finaposy\r\n\t }, finat);\r\n\t twmove.call(function () {\r\n\t engine.globalEvent.dispatchEvent(\"game-over\");\r\n\t });\r\n\t }\r\n\t }\r\n\t };\r\n\t Ball.prototype.overmove = function () {\r\n\t this.removeEventListener(engine.Event.ENTER_FRAME, this.updategame, this);\r\n\t };\r\n\t return Ball;\r\n\t}(engine.Image));\r\n\t//# sourceMappingURL=Ball.js.map\n\n\tvar GameView = (function (_super) {\r\n\t tslib.__extends(GameView, _super);\r\n\t function GameView() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.inemit = false;\r\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\r\n\t return _this;\r\n\t }\r\n\t GameView.prototype.setup = function () {\r\n\t configData.initDotInfo();\r\n\t var gamebg = new engine.Image(getTextureByName(\"gamebg\"));\r\n\t this.addChild(gamebg);\r\n\t this.cuizi = new engine.Image(getTextureByName(\"cuizi\"));\r\n\t this.cuizi.x = 549;\r\n\t this.cuizi.y = 565;\r\n\t this.addChild(this.cuizi);\r\n\t var dotcont = new engine.Container();\r\n\t this.addChild(dotcont);\r\n\t var dotexture = getTextureByName(\"dot\");\r\n\t for (var i = 1; i < 8; i++) {\r\n\t var itext = new engine.Label();\r\n\t itext.width = 56;\r\n\t itext.size = 22;\r\n\t itext.fillColor = \"#660000\";\r\n\t itext.textAlign = engine.TEXT_ALIGN.CENTER;\r\n\t itext.lineType = engine.TEXT_lINETYPE.MULTI;\r\n\t itext.text = \"奖品\" + i;\r\n\t itext.x = 20 + (56 + 16) * (i - 1);\r\n\t itext.y = 516;\r\n\t this.addChild(itext);\r\n\t this[\"prizetxt\" + i] = itext;\r\n\t }\r\n\t var cuizimask = new engine.Graphics();\r\n\t cuizimask.beginFill(0xffffff, 1);\r\n\t cuizimask.drawRect(549, 530, 42, 62);\r\n\t cuizimask.endFill();\r\n\t this.addChild(cuizimask);\r\n\t this.cuizi.mask = cuizimask;\r\n\t this.ball = new engine.Image(getTextureByName(\"ball\"));\r\n\t this.ball.anchorX = 24;\r\n\t this.ball.anchorY = 24;\r\n\t this.addChild(this.ball);\r\n\t var ballmask = new engine.Graphics();\r\n\t ballmask.beginFill(0xffffff, 1);\r\n\t ballmask.drawRect(550, 352, 64, 250);\r\n\t ballmask.endFill();\r\n\t this.addChild(ballmask);\r\n\t this.ball.mask = ballmask;\r\n\t this.ballfire = new Ball();\r\n\t this.addChild(this.ballfire);\r\n\t this.ballfire.visible = false;\r\n\t var topimg = new engine.Image(getTextureByName(\"topimg\"));\r\n\t this.addChild(topimg);\r\n\t this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);\r\n\t this.reset();\r\n\t engine.globalEvent.addEventListener(\"fall-ball\", this.fallBall, this);\r\n\t };\r\n\t GameView.prototype.mousedown = function () {\r\n\t };\r\n\t GameView.prototype.mouseup = function (propower, prizeid) {\r\n\t var _this = this;\r\n\t if (propower === void 0) { propower = 1; }\r\n\t if (prizeid === void 0) { prizeid = 2; }\r\n\t if (!this.inemit) {\r\n\t this.inemit = true;\r\n\t this.ballfire.x = 550;\r\n\t this.ballfire.y = 520;\r\n\t this.ballfire.visible = true;\r\n\t this.ball.visible = false;\r\n\t this.ballfire.startmove(propower, prizeid);\r\n\t engine.Tween.removeTweens(this.cuizi);\r\n\t var time1 = configData.time1;\r\n\t var time2 = configData.time2;\r\n\t engine.Tween.get(this.cuizi)\r\n\t .to({\r\n\t y: 535\r\n\t }, time1, engine.Ease.quadOut)\r\n\t .to({\r\n\t y: 565\r\n\t }, time2, engine.Ease.quadIn)\r\n\t .call(function () {\r\n\t _this.inemit = false;\r\n\t });\r\n\t }\r\n\t };\r\n\t GameView.prototype.noemit = function () {\r\n\t var _this = this;\r\n\t this.ballfire.visible = false;\r\n\t this.ball.x = 550;\r\n\t this.ball.y = 520;\r\n\t this.ball.visible = true;\r\n\t engine.Tween.removeTweens(this.cuizi);\r\n\t engine.Tween.removeTweens(this.ball);\r\n\t var time1 = configData.time1;\r\n\t var time2 = configData.time2;\r\n\t engine.Tween.get(this.cuizi)\r\n\t .to({\r\n\t y: 535\r\n\t }, time1, engine.Ease.quadOut)\r\n\t .to({\r\n\t y: 565\r\n\t }, time2, engine.Ease.quadIn)\r\n\t .call(function () {\r\n\t _this.inemit = false;\r\n\t });\r\n\t engine.Tween.get(this.ball)\r\n\t .to({\r\n\t y: 460\r\n\t }, time1 + 300, engine.Ease.quadOut)\r\n\t .to({\r\n\t y: 520\r\n\t }, time1 + 300, engine.Ease.quadIn)\r\n\t .call(function () {\r\n\t console.error(\"球落完毕==自定义======2333\");\r\n\t engine.globalEvent.dispatchEvent(\"fall-complete\");\r\n\t });\r\n\t };\r\n\t GameView.prototype.reset = function () {\r\n\t this.ball.x = 550;\r\n\t this.ball.y = 520;\r\n\t };\r\n\t GameView.prototype.init = function () {\r\n\t var prizedata = props.prizedata;\r\n\t for (var i = 0; i < prizedata.length; i++) {\r\n\t var idata = prizedata[i];\r\n\t this[\"prizetxt\" + (i + 1)].text = idata;\r\n\t }\r\n\t };\r\n\t GameView.prototype.fallBall = function () {\r\n\t console.log(\"球掉落=========》\");\r\n\t this.ball.visible = true;\r\n\t this.ball.x = 500;\r\n\t this.ball.y = 352;\r\n\t engine.Tween.removeTweens(this.ball);\r\n\t engine.Tween.get(this.ball)\r\n\t .to({\r\n\t x: 550\r\n\t }, 300, engine.Ease.sineOut);\r\n\t engine.Tween.get(this.ball)\r\n\t .to({\r\n\t y: 520\r\n\t }, 300, engine.Ease.sineIn);\r\n\t };\r\n\t return GameView;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameView.js.map\n\n\tvar GameWrapper = (function (_super) {\r\n\t tslib.__extends(GameWrapper, _super);\r\n\t function GameWrapper() {\r\n\t var _this = _super.call(this) || this;\r\n\t engine.globalEvent.addEventListener('game-mousedown', _this.mousedown, _this);\r\n\t engine.globalEvent.addEventListener('game-mouseup', _this.mouseup, _this);\r\n\t engine.globalEvent.addEventListener('game-reset', _this.reset, _this);\r\n\t engine.globalEvent.addEventListener('game-init', _this.init, _this);\r\n\t engine.globalEvent.addEventListener('game-noemit', _this.noemit, _this);\r\n\t _this._gameView = new GameView();\r\n\t _this.addChild(_this._gameView);\r\n\t return _this;\r\n\t }\r\n\t GameWrapper.prototype.mousedown = function () {\r\n\t this._gameView.mousedown();\r\n\t };\r\n\t GameWrapper.prototype.mouseup = function (event) {\r\n\t var data = event.data;\r\n\t var propower = data.propower;\r\n\t var prizeid = data.prizeid;\r\n\t this._gameView.mouseup(propower, prizeid);\r\n\t };\r\n\t GameWrapper.prototype.reset = function () {\r\n\t this._gameView.reset();\r\n\t };\r\n\t GameWrapper.prototype.init = function (event) {\r\n\t injectProps(event.data);\r\n\t this._gameView.init();\r\n\t };\r\n\t GameWrapper.prototype.noemit = function () {\r\n\t this._gameView.noemit();\r\n\t };\r\n\t return GameWrapper;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameWrapper.js.map\n\n\tfunction index (props) {\r\n\t prepareProps();\r\n\t injectProps(props);\r\n\t var instance = new GameWrapper();\r\n\t return instance;\r\n\t}\r\n\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n"
}
...@@ -493,5 +493,5 @@ ...@@ -493,5 +493,5 @@
} }
}, },
"id": "jump-high-2", "id": "jump-high-2",
"code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global['jump-high-2'] = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tvar props = {};\n\tfunction prepareProps() {\n\t var metaProps = getProps();\n\t engine.injectProp(props, metaProps);\n\t}\n\tfunction injectProps(p) {\n\t engine.injectProp(props, p);\n\t}\n\t//# sourceMappingURL=props.js.map\n\n\tfunction getTexture(uuid) {\n\t return engine.Texture.from(getAssetByUUID(uuid).uuid);\n\t}\n\tfunction getTextureByName(name) {\n\t return getTexture(engine.getAssetByName(name).uuid);\n\t}\n\tfunction getBlockAsset(type) {\n\t return engine.getAssetByName(props.blockAssets[type]);\n\t}\n\tfunction getBlockHitAsset(type) {\n\t console.log(\"props.blockHitAssets\", props.blockHitAssets);\n\t return engine.getAssetByName(props.blockHitAssets[type]);\n\t}\n\tfunction createSvga(name, anchorName) {\n\t var inst = new svga.Svga();\n\t inst.source = 'asset://' + engine.getAssetByName(name).uuid;\n\t var anchor = props[(anchorName)];\n\t if (anchor) {\n\t inst.x = -anchor.x;\n\t inst.y = -anchor.y;\n\t inst.anchorX = anchor.x;\n\t inst.anchorY = anchor.y;\n\t }\n\t return inst;\n\t}\n\tfunction playSound(name) {\n\t engine.playSound(engine.getAssetByName(name).uuid, { keep: true });\n\t}\n\t//# sourceMappingURL=utils.js.map\n\n\tvar Block = (function (_super) {\n\t tslib.__extends(Block, _super);\n\t function Block() {\n\t var _this = _super.call(this) || this;\n\t var body = _this.body = new svga.Svga();\n\t body.x = -props.blockWidth / 2;\n\t body.y = -props.blockHitHeight - props.blockPaddingTop;\n\t _this.addChild(body);\n\t var bodyHit = _this.bodyHit = new svga.Svga();\n\t bodyHit.x = -props.blockWidth / 2;\n\t bodyHit.y = -props.blockHitHeight - props.blockPaddingTop + props.blockHitOffsetY;\n\t _this.addChild(bodyHit);\n\t console.log(\"props.blockProfectOffset\", props.blockProfectOffset);\n\t var bodyProfect = _this.bodyProfect = new svga.Svga();\n\t bodyProfect.x = -props.blockWidth / 2 + props.blockProfectOffset.x;\n\t bodyProfect.y = -props.blockHitHeight - props.blockPaddingTop + props.blockProfectOffset.y;\n\t _this.addChild(bodyProfect);\n\t return _this;\n\t }\n\t Block.prototype.reset = function (_a) {\n\t var type = _a.type;\n\t this.dir = Math.random() > 0.5 ? 1 : -1;\n\t if (this.type != type) {\n\t this.type = type;\n\t var asset = getBlockAsset(type);\n\t this.body.source = 'asset://' + asset.uuid;\n\t var assetHit = getBlockHitAsset(type);\n\t console.log(\"assetHit\", assetHit);\n\t this.bodyHit.source = 'asset://' + assetHit.uuid;\n\t }\n\t this.bodyProfect.source = 'asset://' + engine.getAssetByName(\"完美方块素材\").uuid;\n\t this.scaleX = this.dir;\n\t this.body.gotoAndStop(1);\n\t this.bodyHit.gotoAndStop(1);\n\t this.bodyProfect.gotoAndStop(1);\n\t this.body.visible = true;\n\t this.bodyHit.visible = false;\n\t };\n\t Block.prototype.playEnter = function (index, animation) {\n\t var _this = this;\n\t this.visible = true;\n\t this.x = this.dir * this.stage.width;\n\t var _a = props.blockDurationRange, min = _a[0], max = _a[1];\n\t var duration = Math.max(max - index * props.blockDurationStep, min);\n\t duration = duration + max * Math.random() * props.blockDurationRandom * (Math.random() > 0.5 ? 1 : -1);\n\t return new Promise(function (resolve) {\n\t if (animation) {\n\t engine.Tween.get(_this, null, null, true)\n\t .to({ x: 0, }, duration)\n\t .call(resolve);\n\t }\n\t else {\n\t _this.x = 0;\n\t setTimeout(function () {\n\t console.log(_this.body);\n\t }, 200);\n\t resolve();\n\t }\n\t });\n\t };\n\t Block.prototype.playLeave = function () {\n\t this.visible = false;\n\t };\n\t Block.prototype.playEffect = function () {\n\t var body = this.body;\n\t body.play(true, false);\n\t body.once(engine.Event.END_FRAME, function () {\n\t body.gotoAndStop(1);\n\t }, this);\n\t };\n\t Block.prototype.playHit = function () {\n\t var bodyHit = this.bodyHit;\n\t bodyHit.play(true, false);\n\t this.body.visible = false;\n\t this.bodyHit.visible = true;\n\t bodyHit.once(engine.Event.END_FRAME, function () {\n\t this.body.visible = true;\n\t this.bodyHit.visible = false;\n\t bodyHit.gotoAndStop(1);\n\t }, this);\n\t };\n\t Block.prototype.playProFect = function () {\n\t var bodyProfect = this.bodyProfect;\n\t bodyProfect.play(true, false);\n\t bodyProfect.once(engine.Event.END_FRAME, function () {\n\t bodyProfect.gotoAndStop(1);\n\t }, this);\n\t };\n\t Block.prototype.stop = function () {\n\t engine.Tween.removeTweens(this);\n\t };\n\t return Block;\n\t}(engine.Container));\n\t//# sourceMappingURL=Block.js.map\n\n\tvar Background = (function (_super) {\n\t tslib.__extends(Background, _super);\n\t function Background() {\n\t return _super.call(this) || this;\n\t }\n\t Background.prototype.setup = function () {\n\t var _a = this.stage, width = _a.width, height = _a.height;\n\t var bg = this._bg = new engine.Image(getTextureByName('背景图'));\n\t bg.anchorX = bg.width / 2;\n\t bg.anchorY = bg.height / 2;\n\t bg.x = -(bg.width - width) / 2;\n\t bg.y = -(bg.height - height) / 2;\n\t this.addChild(bg);\n\t this._minScale = width / bg.width;\n\t };\n\t Background.prototype.playZoom = function (type, duration) {\n\t var _this = this;\n\t if (duration === void 0) { duration = 700; }\n\t return new Promise(function (resolve) {\n\t var scale = type === 'in' ? 1 : _this._minScale;\n\t engine.Tween.get(_this._bg, null, null, true)\n\t .to({ scaleX: scale, scaleY: scale }, duration, engine.Ease.cubicInOut)\n\t .call(resolve);\n\t });\n\t };\n\t return Background;\n\t}(engine.Container));\n\n\tvar svgaAssets = {\n\t aniReady: { name: '准备立正', dir: 1 },\n\t aniReady2: { name: '准备立正', dir: 1 },\n\t aniJump: { name: '跳上升', dir: 1 },\n\t aniFall: { name: '跳下落', dir: 1 },\n\t aniLandNormal: { name: '普通着地', dir: 1 },\n\t aniLandSide: { name: '边缘着地', dir: -1 },\n\t aniHit: { name: '被撞开', dir: -1 },\n\t aniParachute: { name: '降落', dir: -1 },\n\t aniLandPerfect: { name: '完美着地_笑', dir: 1 },\n\t};\n\tvar Player = (function (_super) {\n\t tslib.__extends(Player, _super);\n\t function Player() {\n\t var _this = _super.call(this) || this;\n\t _this.g = props.gravity;\n\t _this.addEventListener(engine.Event.ENTER_FRAME, _this.onEnterFrame, _this);\n\t return _this;\n\t }\n\t Player.prototype.switchAni = function (name, dir, play, loop) {\n\t var _this = this;\n\t if (dir === void 0) { dir = 1; }\n\t if (play === void 0) { play = true; }\n\t if (loop === void 0) { loop = false; }\n\t return new Promise(function (resolve) {\n\t _this.scaleX = dir;\n\t if (_this._aniName !== name) {\n\t _this._aniName = name;\n\t var oldAni = _this.removeChild(_this.getChildByName('body'));\n\t if (oldAni) {\n\t oldAni.stop();\n\t }\n\t var ani = _this._currentAni = _this['ani' + name];\n\t _this.addChild(ani);\n\t if (play) {\n\t ani.play(false, loop);\n\t if (loop) {\n\t resolve();\n\t }\n\t else {\n\t ani.once(engine.Event.END_FRAME, resolve);\n\t }\n\t }\n\t else {\n\t resolve();\n\t }\n\t }\n\t });\n\t };\n\t Player.prototype.setup = function () {\n\t this.prefectEffect = createSvga('完美着地特效', 'playerLandPrefectAnchor');\n\t this.landEffect = createSvga('着地特效', 'playerLandEffectAnchor');\n\t for (var key in svgaAssets) {\n\t var _a = svgaAssets[key], name = _a.name, dir = _a.dir;\n\t var body = this[key] = createSvga(name, key.replace('ani', 'player') + 'Anchor');\n\t body.name = 'body';\n\t body.scaleX = dir;\n\t }\n\t };\n\t Player.prototype.reset = function (revive) {\n\t this.x = 0;\n\t this.rotation = 0;\n\t this.scaleX = this.scaleY = 1;\n\t this._prefectLandCounting = 0;\n\t engine.Tween.removeTweens(this);\n\t if (revive) {\n\t this.switchAni('Jump', 1, false);\n\t }\n\t };\n\t Player.prototype.playReady = function () {\n\t var _this = this;\n\t return new Promise(function (resolve) {\n\t _this.switchAni('Ready', 1);\n\t _this._currentAni.once(engine.Event.END_FRAME, function () {\n\t this.switchAni('Ready2', 1, true, true);\n\t resolve();\n\t }, _this);\n\t });\n\t };\n\t Player.prototype.onEnterFrame = function (event) {\n\t if (!this.playing) {\n\t return;\n\t }\n\t this.vy += this.g;\n\t this.y += this.vy;\n\t if (this.vy > 0 && this._aniName !== 'Fall') {\n\t this.dispatchEvent('jump-on-top');\n\t this.switchAni('Fall');\n\t }\n\t if (this.y > this.baseY) {\n\t this.y = this.baseY;\n\t this.playing = false;\n\t this.jumpPromise && this.jumpPromise({\n\t aboveBlock: this.aboveBlock,\n\t });\n\t this.jumpPromise = null;\n\t }\n\t };\n\t Player.prototype.changeBaseY = function (v) {\n\t if (this.baseY == v) {\n\t return;\n\t }\n\t this.aboveBlock = true;\n\t this.baseY = v;\n\t };\n\t Player.prototype.jump = function () {\n\t var _this = this;\n\t playSound('跳起音效');\n\t this.switchAni('Jump', 1, false);\n\t this._currentAni.play(false, false);\n\t this.aboveBlock = false;\n\t this.playing = true;\n\t this.baseY = this.y;\n\t this.vy = -props.jumpSpeed;\n\t return new Promise(function (resolve) {\n\t _this.jumpPromise = resolve;\n\t });\n\t };\n\t Player.prototype.playLand = function (type, dir) {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var _a, prefectEffect_1, landEffect_1;\n\t return tslib.__generator(this, function (_b) {\n\t switch (_b.label) {\n\t case 0:\n\t _a = type;\n\t switch (_a) {\n\t case 0: return [3, 1];\n\t case 1: return [3, 4];\n\t case 2: return [3, 4];\n\t case 3: return [3, 5];\n\t }\n\t return [3, 6];\n\t case 1:\n\t this._prefectLandCounting++;\n\t playSound('完美落地音效' + Math.min(4, this._prefectLandCounting));\n\t prefectEffect_1 = this.prefectEffect;\n\t this.addChildAt(prefectEffect_1, 0);\n\t prefectEffect_1.gotoAndPlay(1);\n\t prefectEffect_1.once(engine.Event.END_FRAME, function () {\n\t this.removeChild(prefectEffect_1);\n\t }, this);\n\t landEffect_1 = this.landEffect;\n\t this.addChildAt(landEffect_1, 0);\n\t landEffect_1.gotoAndPlay(1);\n\t landEffect_1.once(engine.Event.END_FRAME, function () {\n\t this.removeChild(landEffect_1);\n\t }, this);\n\t return [4, this.switchAni('LandPerfect')];\n\t case 2:\n\t _b.sent();\n\t return [4, this.switchAni('Ready2', 1, true, true)];\n\t case 3:\n\t _b.sent();\n\t return [3, 6];\n\t case 4:\n\t this._prefectLandCounting = 0;\n\t playSound('普通落地音效');\n\t this.switchAni('Ready2', 1, true, true);\n\t return [3, 6];\n\t case 5:\n\t this._prefectLandCounting = 0;\n\t playSound('边缘落地音效');\n\t this.switchAni('LandSide', dir);\n\t return [3, 6];\n\t case 6: return [2];\n\t }\n\t });\n\t });\n\t };\n\t Player.prototype.hitAway = function (dir) {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t this.jumpPromise && this.jumpPromise();\n\t this.jumpPromise = null;\n\t playSound('被撞开音效');\n\t this.switchAni('Hit', dir);\n\t this.vy = 0;\n\t return [4, new Promise(function (resolve) {\n\t engine.Tween.get(_this)\n\t .to({\n\t x: -dir * props.hitAwayDistance.x,\n\t }, props.hitAwayDuration, engine.Ease.quartOut);\n\t engine.Tween.get(_this)\n\t .to({\n\t y: _this.y + props.hitAwayDistance.y,\n\t }, props.hitAwayDuration, engine.Ease.cubicOut)\n\t .call(resolve);\n\t })];\n\t case 1:\n\t _a.sent();\n\t return [2];\n\t }\n\t });\n\t });\n\t };\n\t Player.prototype.parachute = function (dir) {\n\t var _this = this;\n\t this.switchAni('Parachute', dir);\n\t return new Promise(function (resolve) {\n\t engine.Tween.get(_this)\n\t .wait(200)\n\t .call(function () {\n\t playSound('降落伞下落音效');\n\t })\n\t .wait(300)\n\t .to({ y: _this.y + props.parachuteDistance }, props.parachuteDuration)\n\t .set({ anchorOffsetY: 0 })\n\t .call(resolve);\n\t });\n\t };\n\t return Player;\n\t}(engine.Container));\n\t//# sourceMappingURL=Player.js.map\n\n\tvar Base = (function (_super) {\n\t tslib.__extends(Base, _super);\n\t function Base() {\n\t return _super.call(this, getTextureByName('底座')) || this;\n\t }\n\t Base.prototype.setup = function () {\n\t this.x = -(this.width) / 2;\n\t };\n\t Base.prototype.reset = function () {\n\t this.y = -props.baseOffset;\n\t };\n\t return Base;\n\t}(engine.Image));\n\t//# sourceMappingURL=Base.js.map\n\n\tvar GuideLayer = (function (_super) {\n\t tslib.__extends(GuideLayer, _super);\n\t function GuideLayer() {\n\t var _this = _super.call(this) || this;\n\t _this.setup();\n\t return _this;\n\t }\n\t GuideLayer.prototype.setup = function () {\n\t };\n\t GuideLayer.prototype.show = function (id, options) {\n\t var _this = this;\n\t return new Promise(function (resolve) {\n\t _this.visible = true;\n\t if (!_this.guideMask) {\n\t var _a = _this.stage, width = _a.width, height = _a.height;\n\t var guideMask = _this.guideMask = new engine.Container();\n\t var guideHole = new engine.Image(getTextureByName('引导遮罩'));\n\t guideHole.x = (width - guideHole.width) / 2;\n\t guideHole.y = options.y;\n\t guideMask.addChild(guideHole);\n\t _this.createRect(guideMask, 0, 0, width, guideHole.y);\n\t _this.createRect(guideMask, 0, guideHole.y, guideHole.x, guideHole.height);\n\t _this.createRect(guideMask, guideHole.x + guideHole.width, guideHole.y, width - guideHole.x - guideHole.width, guideHole.height);\n\t _this.createRect(guideMask, 0, guideHole.y + guideHole.height, width, height - guideHole.y - guideHole.height);\n\t var label = _this.label = new engine.Label();\n\t label.fillColor = 'white';\n\t label.size = 25;\n\t label.text = props.guideText;\n\t label.x = (width - label.width) / 2;\n\t label.y = guideHole.y + guideHole.height + 50;\n\t guideMask.addChild(label);\n\t _this.addChild(guideMask);\n\t }\n\t _this.once(engine.MouseEvent.CLICK, function () {\n\t this.visible = false;\n\t resolve();\n\t }, _this);\n\t });\n\t };\n\t GuideLayer.prototype.createRect = function (container, x, y, width, height) {\n\t var rect = new engine.Rect();\n\t rect.x = x;\n\t rect.y = y;\n\t rect.width = width;\n\t rect.height = height;\n\t rect.fillColor = 'black';\n\t rect.alpha = 0.7;\n\t container.addChild(rect);\n\t };\n\t return GuideLayer;\n\t}(engine.Container));\n\t//# sourceMappingURL=GuideLayer.js.map\n\n\tvar GoldBag = (function (_super) {\n\t tslib.__extends(GoldBag, _super);\n\t function GoldBag() {\n\t var _this = _super.call(this) || this;\n\t _this.setup();\n\t return _this;\n\t }\n\t GoldBag.prototype.setup = function () {\n\t var avatar = this.avatar = new engine.Sprite(getTextureByName('钱袋-静态'));\n\t avatar.x = -props.goldPackAvatarAnchor.x;\n\t avatar.y = -props.goldPackAvatarAnchor.y;\n\t this.addChild(avatar);\n\t var svga = this.svga = createSvga('钱袋', 'goldPackAnchor');\n\t svga.visible = false;\n\t this.addChild(svga);\n\t };\n\t GoldBag.prototype.reset = function (data) {\n\t this.y = data.y;\n\t this.avatar.visible = true;\n\t this.svga.visible = false;\n\t this.svga.gotoAndStop(1);\n\t this.remain = data.remain;\n\t };\n\t GoldBag.prototype.playOpen = function () {\n\t var _this = this;\n\t this.avatar.visible = false;\n\t this.svga.visible = true;\n\t return new Promise(function (resolve) {\n\t _this.svga.play(true, false);\n\t _this.svga.once(engine.Event.END_FRAME, function () {\n\t this.svga.visible = false;\n\t resolve();\n\t }, _this);\n\t });\n\t };\n\t return GoldBag;\n\t}(engine.Container));\n\t//# sourceMappingURL=GoldBag.js.map\n\n\tvar JumpTips = (function (_super) {\n\t tslib.__extends(JumpTips, _super);\n\t function JumpTips() {\n\t return _super.call(this) || this;\n\t }\n\t JumpTips.prototype.setup = function () {\n\t this.width = 124;\n\t this.height = 93;\n\t var bg = this._bg = new engine.Image(getTextureByName('跳跃提示背景'));\n\t bg.width = this.width;\n\t bg.height = this.height;\n\t bg.anchorX = bg.width / 2;\n\t bg.anchorY = bg.height / 2;\n\t this.addChild(bg);\n\t var jumpTipsLabel = this._jumpTipsLabel = new engine.Label();\n\t jumpTipsLabel.width = this.width;\n\t jumpTipsLabel.height = this.height;\n\t jumpTipsLabel.anchorX = jumpTipsLabel.width / 2;\n\t jumpTipsLabel.anchorY = jumpTipsLabel.height / 2;\n\t jumpTipsLabel.fillColor = \"#fc4454\";\n\t jumpTipsLabel.textAlign = engine.TEXT_ALIGN.CENTER;\n\t jumpTipsLabel.verticalAlign = engine.VERTICAL_ALIGN.MIDDLE;\n\t jumpTipsLabel.size = 24;\n\t jumpTipsLabel.rotation = -26;\n\t jumpTipsLabel.text = \"+00\";\n\t jumpTipsLabel.x = 0;\n\t jumpTipsLabel.y = 0;\n\t this.addChild(jumpTipsLabel);\n\t this.alpha = 0;\n\t };\n\t JumpTips.prototype.show = function () {\n\t var _this = this;\n\t return new Promise(function (resolve) {\n\t _this._jumpTipsLabel.text = props.jumpTips[parseInt((Math.random() * props.jumpTips.length) + \"\")];\n\t _this.alpha = 1;\n\t engine.Tween.get(_this, null, null, true)\n\t .wait(800)\n\t .to({ alpha: 0 }, 200, engine.Ease.cubicInOut)\n\t .call(resolve);\n\t });\n\t };\n\t return JumpTips;\n\t}(engine.Container));\n\t//# sourceMappingURL=JumpTips.js.map\n\n\tvar ObjectPool = engine.ObjectPool;\n\tvar PoolName = 'gold-bag';\n\tObjectPool.registerPool(PoolName, function () {\n\t return new GoldBag();\n\t}, function (item, data) {\n\t item.reset(data);\n\t});\n\tvar GameView = (function (_super) {\n\t tslib.__extends(GameView, _super);\n\t function GameView() {\n\t var _this = _super.call(this) || this;\n\t _this.index = -1;\n\t _this.goldBags = [];\n\t _this.baseOffset = -props.baseOffset + props.playerOffset;\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\n\t return _this;\n\t }\n\t GameView.prototype.setup = function () {\n\t if (this._hasSetup) {\n\t return;\n\t }\n\t this._hasSetup = true;\n\t var _a = this.stage, width = _a.width, height = _a.height;\n\t var background = this.background = new Background();\n\t this.addChild(background);\n\t background.setup();\n\t var frontContainer = this.frontContainer = new engine.Container();\n\t frontContainer.x = width / 2;\n\t this.addChild(frontContainer);\n\t var guideLayer = this.guideLayer = new GuideLayer();\n\t this.addChild(guideLayer);\n\t var base = this.base = new Base();\n\t frontContainer.addChild(base);\n\t base.setup();\n\t var blockShadow = this._blockShadow = new engine.Image(getTextureByName('方块阴影'));\n\t blockShadow.anchorX = blockShadow.width / 2;\n\t blockShadow.anchorY = blockShadow.height / 2;\n\t blockShadow.x = -(blockShadow.width - base.width) / 2;\n\t blockShadow.y = props.blockShadowOffset;\n\t base.addChild(blockShadow);\n\t var blockContainer = this.blockContainer = new engine.Container();\n\t frontContainer.addChild(blockContainer);\n\t var player = this.player = new Player();\n\t frontContainer.addChild(player);\n\t player.setup();\n\t player.addEventListener('jump-on-top', this.onPlayerJumpOnTop, this);\n\t var playerShadow = this._playerShadow = new engine.Image(getTextureByName('玩家阴影'));\n\t playerShadow.anchorX = playerShadow.width / 2;\n\t playerShadow.anchorY = playerShadow.height / 2;\n\t playerShadow.x = this.player.x - playerShadow.width / 2;\n\t var scoreAddTipsContainer = this.scoreAddTipsContainer = new engine.Container();\n\t scoreAddTipsContainer.width = 750;\n\t scoreAddTipsContainer.anchorX = scoreAddTipsContainer.width / 2;\n\t scoreAddTipsContainer.anchorY = scoreAddTipsContainer.height / 2;\n\t var scoreAddTips = this.scoreAddTips = new engine.Label();\n\t scoreAddTips.width = 750;\n\t scoreAddTips.fillColor = props.scoreAddFontColor;\n\t scoreAddTips.textAlign = engine.TEXT_ALIGN.CENTER;\n\t scoreAddTips.size = props.scoreAddFontSize;\n\t scoreAddTips.alpha = 0;\n\t scoreAddTips.text = \"+0\";\n\t scoreAddTips.x = this.player.x - scoreAddTips.width / 2;\n\t scoreAddTipsContainer.addChild(scoreAddTips);\n\t var jumpTips = this.jumpTips = new JumpTips();\n\t jumpTips.setup();\n\t jumpTips.x = props.jumpTipsOffset.x;\n\t frontContainer.addChild(playerShadow);\n\t frontContainer.addChild(player);\n\t frontContainer.addChild(scoreAddTipsContainer);\n\t frontContainer.addChild(jumpTips);\n\t ObjectPool.recycleObject(PoolName, ObjectPool.getObject(PoolName, {\n\t y: 0,\n\t remain: 0,\n\t }));\n\t this.hitEffect = createSvga('被撞烟雾', 'hitEffectAnchor');\n\t this.pos = 0;\n\t this.background.setup();\n\t this.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);\n\t this.reset();\n\t };\n\t GameView.prototype.setScoreText = function (score) {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t return [2, new Promise(function (resolve) {\n\t _this.scoreAddTips.text = score;\n\t _this.scoreAddTips.y = 0;\n\t _this.scoreAddTips.alpha = 1;\n\t engine.Tween.get(_this.scoreAddTips, null, null, true)\n\t .to({ y: -100, alpha: 0 }, 500, engine.Ease.cubicInOut)\n\t .call(resolve);\n\t })];\n\t });\n\t });\n\t };\n\t GameView.prototype.reset = function (revive) {\n\t if (revive === void 0) { revive = false; }\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var blockContainer, i, li, block, i, i, li, goldBag;\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t this.base.reset();\n\t this.index = -1;\n\t this._score = 0;\n\t if (revive) ;\n\t else {\n\t this.pos = 0;\n\t blockContainer = this.blockContainer;\n\t for (i = 0, li = blockContainer.children.length; i < li; i++) {\n\t block = blockContainer.getChildAt(i);\n\t block.playLeave();\n\t }\n\t }\n\t for (i = 0; i < props.initBlockCount; i++) {\n\t this.addBlock(false);\n\t }\n\t for (i = 0, li = this.goldBags.length; i < li; i++) {\n\t goldBag = this.goldBags[i];\n\t this.frontContainer.removeChild(goldBag);\n\t ObjectPool.recycleObject(PoolName, goldBag);\n\t }\n\t this.goldBags.splice(0);\n\t this.playZoom('in');\n\t return [4, this.resetPlayer(revive)];\n\t case 1:\n\t _a.sent();\n\t return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.resetPlayer = function (revive) {\n\t if (revive === void 0) { revive = false; }\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t return tslib.__generator(this, function (_a) {\n\t this.player.reset(revive);\n\t this.player.y = this.baseOffset - (this.index + 1) * props.blockHitHeight + props.blockBaseOffset;\n\t return [2];\n\t });\n\t });\n\t };\n\t GameView.prototype.start = function (revive) {\n\t if (revive === void 0) { revive = false; }\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var guideFlagKey, guideFlag;\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t this._playerShadow.y = this.player.y + props.playerShadowOffset;\n\t this.scoreAddTipsContainer.y = this.player.y + props.scoreAddTipsOffset;\n\t this.jumpTips.y = this.player.y + props.jumpTipsOffset.y;\n\t if (!!revive) return [3, 2];\n\t return [4, this.player.playReady()];\n\t case 1:\n\t _a.sent();\n\t _a.label = 2;\n\t case 2:\n\t console.log(\"开始\");\n\t guideFlagKey = 'jump-high-guide_' + props.guideFlagKey;\n\t guideFlag = localStorage.getItem(guideFlagKey);\n\t if (!!guideFlag) return [3, 4];\n\t localStorage.setItem(guideFlagKey, '1');\n\t return [4, this.guideLayer.show('', { y: this.stage.height + this.player.y - 280 })];\n\t case 3:\n\t _a.sent();\n\t _a.label = 4;\n\t case 4:\n\t this.lastLandType = 0;\n\t this._remainToShowGoldBag = props.goldBagScoreMultiple - props.goldBagScoreSubtraction;\n\t this._touchEnabled = true;\n\t setTimeout(function () {\n\t _this.addBlock();\n\t }, 100);\n\t engine.globalEvent.dispatchEvent('jump-high-game-start');\n\t return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.pause = function () {\n\t if (this.currentBlock) {\n\t engine.Tween.pauseTweens(this.currentBlock);\n\t }\n\t engine.Tween.pauseTweens(this.player);\n\t };\n\t GameView.prototype.resume = function () {\n\t if (this.currentBlock) {\n\t engine.Tween.resumeTweens(this.currentBlock);\n\t }\n\t engine.Tween.resumeTweens(this.player);\n\t };\n\t GameView.prototype.revive = function () {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t this.blockContainer.getChildAt(this.index).visible = false;\n\t this.index--;\n\t return [4, this.resetPlayer(true)];\n\t case 1:\n\t _a.sent();\n\t return [4, this.playZoom('in')];\n\t case 2:\n\t _a.sent();\n\t this.start(true);\n\t return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.addBlock = function (animation) {\n\t var _this = this;\n\t if (animation === void 0) { animation = true; }\n\t this.index++;\n\t var blockContainer = this.blockContainer;\n\t var block;\n\t if (blockContainer.children.length > this.index) {\n\t block = blockContainer.getChildAt(this.index);\n\t block.visible = true;\n\t }\n\t else {\n\t block = new Block();\n\t blockContainer.addChild(block);\n\t }\n\t block.reset({\n\t type: Math.floor(Math.random() * props.blockAssets.length),\n\t });\n\t block.y = this.baseOffset - this.index * props.blockHitHeight + props.blockBaseOffset;\n\t this.blockComplete = false;\n\t block.playEnter(this.index, animation).then(function (data) {\n\t _this.blockComplete = true;\n\t });\n\t if (animation) {\n\t this.needHitTest = true;\n\t }\n\t this.currentBlock = block;\n\t };\n\t GameView.prototype.addGoldBag = function () {\n\t var goldBag = ObjectPool.getObject(PoolName, {\n\t y: this.baseOffset - (this.blockCount + props.goldBagDistance + props.goldBagJumpSubtraction) * props.blockHitHeight,\n\t remain: props.goldBagDistance,\n\t });\n\t this.frontContainer.addChild(goldBag);\n\t this.goldBags.push(goldBag);\n\t };\n\t GameView.prototype.playOpenGoldBag = function () {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var i, li, goldBag;\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t i = 0, li = this.goldBags.length;\n\t _a.label = 1;\n\t case 1:\n\t if (!(i < li)) return [3, 4];\n\t goldBag = this.goldBags[i];\n\t goldBag.remain--;\n\t if (!(goldBag.remain <= 0)) return [3, 3];\n\t this.goldBags.splice(i, 1);\n\t i--;\n\t li--;\n\t this.nextToUpdateScore = true;\n\t return [4, goldBag.playOpen()];\n\t case 2:\n\t _a.sent();\n\t this.frontContainer.removeChild(goldBag);\n\t ObjectPool.recycleObject(PoolName, goldBag);\n\t _a.label = 3;\n\t case 3:\n\t i++;\n\t return [3, 1];\n\t case 4: return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.onPlayerJumpOnTop = function () {\n\t if (this.nextToUpdateScore) {\n\t this.nextToUpdateScore = false;\n\t this.scoreChange(4);\n\t playSound('撞击钱袋音效');\n\t }\n\t };\n\t Object.defineProperty(GameView.prototype, \"blockCount\", {\n\t get: function () {\n\t return this.index - props.initBlockCount + 1;\n\t },\n\t enumerable: true,\n\t configurable: true\n\t });\n\t Object.defineProperty(GameView.prototype, \"pos\", {\n\t get: function () {\n\t return this._pos;\n\t },\n\t set: function (v) {\n\t this._pos = v;\n\t this.updatePos();\n\t },\n\t enumerable: true,\n\t configurable: true\n\t });\n\t GameView.prototype.updatePos = function () {\n\t this.frontContainer.y = this.stage.height + this._pos;\n\t };\n\t GameView.prototype.onEnterFrame = function (event) {\n\t if (this.needHitTest) {\n\t if (this.currentBlock) {\n\t var _a = this.currentBlock, bx = _a.x, by = _a.y, dir = _a.dir;\n\t var _b = this.player, px = _b.x, py = _b.y;\n\t var blockHitWidth = props.blockHitWidth, blockHitHeight = props.blockHitHeight, playerWidth = props.playerWidth;\n\t var hitOn = false;\n\t if (Math.abs(px - bx) < (blockHitWidth + playerWidth) / 2) {\n\t this.player.changeBaseY(by - blockHitHeight);\n\t if (py > by - blockHitHeight) {\n\t hitOn = true;\n\t }\n\t }\n\t if (hitOn) {\n\t this.onHitOn(dir);\n\t }\n\t }\n\t }\n\t };\n\t GameView.prototype.onHitOn = function (dir) {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t this._touchEnabled = false;\n\t this.needHitTest = false;\n\t clearInterval(this.timer);\n\t this.currentBlock.playHit();\n\t this._playerShadow.visible = false;\n\t this.playHitEffect(dir);\n\t return [4, this.player.hitAway(dir)];\n\t case 1:\n\t _a.sent();\n\t this.playZoom('out');\n\t return [4, this.player.parachute(dir)];\n\t case 2:\n\t _a.sent();\n\t engine.globalEvent.dispatchEvent('jump-high-game-end');\n\t return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.jump = function () {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var result, pos, type, lastLandType;\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t if (!this._touchEnabled) {\n\t return [2];\n\t }\n\t this._playerShadow.visible = false;\n\t this._touchEnabled = false;\n\t this.playOpenGoldBag();\n\t return [4, this.player.jump()];\n\t case 1:\n\t result = _a.sent();\n\t if (!result) return [3, 5];\n\t if (!result.aboveBlock) return [3, 4];\n\t pos = Math.abs(this.currentBlock.x);\n\t type = 0;\n\t if (pos > 0) {\n\t type = pos > 0 && pos < props.scoreThreshold ? 2 : 3;\n\t }\n\t lastLandType = this.lastLandType;\n\t this.lastLandType = type;\n\t if (type === 0) {\n\t if (lastLandType !== type) {\n\t type = 1;\n\t }\n\t }\n\t if (type < 3) {\n\t this.currentBlock.playEffect();\n\t }\n\t if (type === 0) {\n\t this.currentBlock.playProFect();\n\t }\n\t if (type != 3) {\n\t this._playerShadow.visible = true;\n\t }\n\t this._playerShadow.y = this.player.y + props.playerShadowOffset;\n\t this.player.playLand(type, this.currentBlock.dir);\n\t this.currentBlock.stop();\n\t this.scoreChange(type);\n\t return [4, this.playShake()];\n\t case 2:\n\t _a.sent();\n\t return [4, new Promise(function (resolve) {\n\t engine.Tween.get(_this, null, null, true)\n\t .to({ pos: props.blockHitHeight * _this.index }, 300, engine.Ease.cubicOut)\n\t .call(resolve);\n\t })];\n\t case 3:\n\t _a.sent();\n\t this.addBlock();\n\t _a.label = 4;\n\t case 4:\n\t this._touchEnabled = true;\n\t _a.label = 5;\n\t case 5: return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.scoreChange = function (type) {\n\t var scoreAdd = props.scoreWeights[type];\n\t this._score += scoreAdd;\n\t this._remainToShowGoldBag -= scoreAdd;\n\t var score = this._score;\n\t engine.globalEvent.dispatchEvent('jump-high-score', {\n\t type: type,\n\t score: score,\n\t scoreAdd: scoreAdd,\n\t });\n\t this.scoreAddTipsContainer.y = this.player.y + props.scoreAddTipsOffset;\n\t this.setScoreText(\"+\" + scoreAdd);\n\t this.jumpTips.y = this.player.y + props.jumpTipsOffset.y;\n\t this.jumpTips.show();\n\t console.log(score, this._remainToShowGoldBag);\n\t if (this._remainToShowGoldBag <= 0) {\n\t this._remainToShowGoldBag += props.goldBagScoreMultiple;\n\t this.addGoldBag();\n\t console.log('addGoldBag');\n\t }\n\t };\n\t GameView.prototype.playHitEffect = function (dir) {\n\t var hitEffect = this.hitEffect;\n\t hitEffect.scaleX = dir;\n\t hitEffect.y = this.player.y - props.hitEffectAnchor.y;\n\t hitEffect.play(true, false);\n\t hitEffect.once(engine.Event.END_FRAME, function () {\n\t this.frontContainer.removeChild(hitEffect);\n\t }, this);\n\t this.frontContainer.addChild(hitEffect);\n\t };\n\t GameView.prototype.playZoom = function (type, duration) {\n\t var _this = this;\n\t if (duration === void 0) { duration = 700; }\n\t this.background.playZoom(type, duration);\n\t var count = this.stage.height / props.blockHitHeight;\n\t return new Promise(function (resolve) {\n\t _this.frontContainer.anchorY = -props.blockHitHeight * (_this.index + count * 1.3) + props.baseOffset;\n\t var scale = type === 'in' ? 1 : Math.min((_this.stage.height / props.blockHitHeight / (_this.index + count)), props.maxScale);\n\t console.log(scale);\n\t engine.Tween.get(_this.frontContainer, null, null, true)\n\t .to({ scaleX: scale, scaleY: scale }, duration, engine.Ease.cubicInOut)\n\t .call(resolve);\n\t });\n\t };\n\t GameView.prototype.playShake = function () {\n\t var _this = this;\n\t var _a = this.frontContainer, x = _a.x, y = _a.y;\n\t return new Promise(function (resolve) {\n\t var shakeOffset = 7;\n\t var duration = 30;\n\t engine.Tween.get(_this.frontContainer, null, null, true)\n\t .to({ x: x, y: y - shakeOffset }, duration)\n\t .to({ x: x, y: y + shakeOffset }, duration)\n\t .to({ x: x + shakeOffset, y: y }, duration)\n\t .to({ x: x - shakeOffset, y: y }, duration)\n\t .to({ x: x, y: y }, duration)\n\t .call(resolve);\n\t });\n\t };\n\t return GameView;\n\t}(engine.Container));\n\t//# sourceMappingURL=GameView.js.map\n\n\tvar JumpHigh = (function (_super) {\n\t tslib.__extends(JumpHigh, _super);\n\t function JumpHigh() {\n\t var _this = _super.call(this) || this;\n\t engine.globalEvent.addEventListener('jump-high-reset', _this.reset, _this);\n\t engine.globalEvent.addEventListener('jump-high-start', _this.start, _this);\n\t engine.globalEvent.addEventListener('jump-high-pause', _this.pause, _this);\n\t engine.globalEvent.addEventListener('jump-high-resume', _this.resume, _this);\n\t engine.globalEvent.addEventListener('jump-high-revive', _this.revive, _this);\n\t _this.addEventListener(engine.MouseEvent.MOUSE_DOWN, _this.onTap, _this);\n\t var gameView = _this._gameView = new GameView();\n\t _this.addChild(gameView);\n\t return _this;\n\t }\n\t JumpHigh.prototype.reset = function () {\n\t this._gameView.reset();\n\t };\n\t JumpHigh.prototype.start = function (event) {\n\t {\n\t injectProps(event.data);\n\t }\n\t this._status = 1;\n\t this._gameView.start();\n\t };\n\t JumpHigh.prototype.pause = function () {\n\t this._gameView.pause();\n\t };\n\t JumpHigh.prototype.resume = function () {\n\t this._gameView.resume();\n\t };\n\t JumpHigh.prototype.revive = function () {\n\t this._gameView.revive();\n\t };\n\t JumpHigh.prototype.onTap = function (event) {\n\t this._gameView.jump();\n\t };\n\t return JumpHigh;\n\t}(engine.Container));\n\t//# sourceMappingURL=JumpHigh.js.map\n\n\tfunction index (props) {\n\t prepareProps();\n\t injectProps(props);\n\t var instance = new JumpHigh();\n\t return instance;\n\t}\n\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n" "code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global['jump-high-2'] = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tvar props = {};\r\n\tfunction prepareProps() {\r\n\t var metaProps = getProps();\r\n\t engine.injectProp(props, metaProps);\r\n\t}\r\n\tfunction injectProps(p) {\r\n\t engine.injectProp(props, p);\r\n\t}\r\n\t//# sourceMappingURL=props.js.map\n\n\tfunction getTexture(uuid) {\r\n\t return engine.Texture.from(getAssetByUUID(uuid).uuid);\r\n\t}\r\n\tfunction getTextureByName(name) {\r\n\t return getTexture(engine.getAssetByName(name).uuid);\r\n\t}\r\n\tfunction getBlockAsset(type) {\r\n\t return engine.getAssetByName(props.blockAssets[type]);\r\n\t}\r\n\tfunction getBlockHitAsset(type) {\r\n\t console.log(\"props.blockHitAssets\", props.blockHitAssets);\r\n\t return engine.getAssetByName(props.blockHitAssets[type]);\r\n\t}\r\n\tfunction createSvga(name, anchorName) {\r\n\t var inst = new svga.Svga();\r\n\t inst.source = 'asset://' + engine.getAssetByName(name).uuid;\r\n\t var anchor = props[(anchorName)];\r\n\t if (anchor) {\r\n\t inst.x = -anchor.x;\r\n\t inst.y = -anchor.y;\r\n\t inst.anchorX = anchor.x;\r\n\t inst.anchorY = anchor.y;\r\n\t }\r\n\t return inst;\r\n\t}\r\n\tfunction playSound(name) {\r\n\t engine.playSound(engine.getAssetByName(name).uuid, { keep: true });\r\n\t}\r\n\t//# sourceMappingURL=utils.js.map\n\n\tvar Block = (function (_super) {\r\n\t tslib.__extends(Block, _super);\r\n\t function Block() {\r\n\t var _this = _super.call(this) || this;\r\n\t var body = _this.body = new svga.Svga();\r\n\t body.x = -props.blockWidth / 2;\r\n\t body.y = -props.blockHitHeight - props.blockPaddingTop;\r\n\t _this.addChild(body);\r\n\t var bodyHit = _this.bodyHit = new svga.Svga();\r\n\t bodyHit.x = -props.blockWidth / 2;\r\n\t bodyHit.y = -props.blockHitHeight - props.blockPaddingTop + props.blockHitOffsetY;\r\n\t _this.addChild(bodyHit);\r\n\t console.log(\"props.blockProfectOffset\", props.blockProfectOffset);\r\n\t var bodyProfect = _this.bodyProfect = new svga.Svga();\r\n\t bodyProfect.x = -props.blockWidth / 2 + props.blockProfectOffset.x;\r\n\t bodyProfect.y = -props.blockHitHeight - props.blockPaddingTop + props.blockProfectOffset.y;\r\n\t _this.addChild(bodyProfect);\r\n\t return _this;\r\n\t }\r\n\t Block.prototype.reset = function (_a) {\r\n\t var type = _a.type;\r\n\t this.dir = Math.random() > 0.5 ? 1 : -1;\r\n\t if (this.type != type) {\r\n\t this.type = type;\r\n\t var asset = getBlockAsset(type);\r\n\t this.body.source = 'asset://' + asset.uuid;\r\n\t var assetHit = getBlockHitAsset(type);\r\n\t console.log(\"assetHit\", assetHit);\r\n\t this.bodyHit.source = 'asset://' + assetHit.uuid;\r\n\t }\r\n\t this.bodyProfect.source = 'asset://' + engine.getAssetByName(\"完美方块素材\").uuid;\r\n\t this.scaleX = this.dir;\r\n\t this.body.gotoAndStop(1);\r\n\t this.bodyHit.gotoAndStop(1);\r\n\t this.bodyProfect.gotoAndStop(1);\r\n\t this.body.visible = true;\r\n\t this.bodyHit.visible = false;\r\n\t console.log(\"block==svga==\", this.body, this.bodyHit);\r\n\t };\r\n\t Block.prototype.playEnter = function (index, animation) {\r\n\t var _this = this;\r\n\t this.visible = true;\r\n\t this.x = this.dir * this.stage.width;\r\n\t var _a = props.blockDurationRange, min = _a[0], max = _a[1];\r\n\t var duration = Math.max(max - index * props.blockDurationStep, min);\r\n\t duration = duration + max * Math.random() * props.blockDurationRandom * (Math.random() > 0.5 ? 1 : -1);\r\n\t return new Promise(function (resolve) {\r\n\t if (animation) {\r\n\t engine.Tween.get(_this, null, null, true)\r\n\t .to({ x: 0, }, duration)\r\n\t .call(resolve);\r\n\t }\r\n\t else {\r\n\t _this.x = 0;\r\n\t setTimeout(function () {\r\n\t console.log(_this.body);\r\n\t }, 200);\r\n\t resolve();\r\n\t }\r\n\t });\r\n\t };\r\n\t Block.prototype.playLeave = function () {\r\n\t this.visible = false;\r\n\t };\r\n\t Block.prototype.playEffect = function () {\r\n\t var body = this.body;\r\n\t body.play(true, false);\r\n\t body.once(engine.Event.END_FRAME, function () {\r\n\t body.gotoAndStop(1);\r\n\t }, this);\r\n\t };\r\n\t Block.prototype.playHit = function () {\r\n\t var bodyHit = this.bodyHit;\r\n\t bodyHit.play(true, false);\r\n\t this.body.visible = false;\r\n\t this.bodyHit.visible = true;\r\n\t bodyHit.once(engine.Event.END_FRAME, function () {\r\n\t this.body.visible = true;\r\n\t this.bodyHit.visible = false;\r\n\t bodyHit.gotoAndStop(1);\r\n\t }, this);\r\n\t };\r\n\t Block.prototype.playProFect = function () {\r\n\t var bodyProfect = this.bodyProfect;\r\n\t bodyProfect.play(true, false);\r\n\t bodyProfect.once(engine.Event.END_FRAME, function () {\r\n\t bodyProfect.gotoAndStop(1);\r\n\t }, this);\r\n\t };\r\n\t Block.prototype.stop = function () {\r\n\t engine.Tween.removeTweens(this);\r\n\t };\r\n\t return Block;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=Block.js.map\n\n\tvar Background = (function (_super) {\r\n\t tslib.__extends(Background, _super);\r\n\t function Background() {\r\n\t return _super.call(this) || this;\r\n\t }\r\n\t Background.prototype.setup = function () {\r\n\t var _a = this.stage, width = _a.width, height = _a.height;\r\n\t var bg = this._bg = new engine.Image(getTextureByName('背景图'));\r\n\t bg.anchorX = bg.width / 2;\r\n\t bg.anchorY = bg.height / 2;\r\n\t bg.x = -(bg.width - width) / 2;\r\n\t bg.y = -(bg.height - height) / 2;\r\n\t this.addChild(bg);\r\n\t this._minScale = width / bg.width;\r\n\t };\r\n\t Background.prototype.playZoom = function (type, duration) {\r\n\t var _this = this;\r\n\t if (duration === void 0) { duration = 700; }\r\n\t return new Promise(function (resolve) {\r\n\t var scale = type === 'in' ? 1 : _this._minScale;\r\n\t engine.Tween.get(_this._bg, null, null, true)\r\n\t .to({ scaleX: scale, scaleY: scale }, duration, engine.Ease.cubicInOut)\r\n\t .call(resolve);\r\n\t });\r\n\t };\r\n\t return Background;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=Background.js.map\n\n\tvar svgaAssets = {\r\n\t aniReady: { name: '准备立正', dir: 1 },\r\n\t aniReady2: { name: '准备立正', dir: 1 },\r\n\t aniJump: { name: '跳上升', dir: 1 },\r\n\t aniFall: { name: '跳下落', dir: 1 },\r\n\t aniLandNormal: { name: '普通着地', dir: 1 },\r\n\t aniLandSide: { name: '边缘着地', dir: -1 },\r\n\t aniHit: { name: '被撞开', dir: -1 },\r\n\t aniParachute: { name: '降落', dir: -1 },\r\n\t aniLandPerfect: { name: '完美着地_笑', dir: 1 },\r\n\t};\r\n\tvar Player = (function (_super) {\r\n\t tslib.__extends(Player, _super);\r\n\t function Player() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.g = props.gravity;\r\n\t _this.addEventListener(engine.Event.ENTER_FRAME, _this.onEnterFrame, _this);\r\n\t return _this;\r\n\t }\r\n\t Player.prototype.switchAni = function (name, dir, play, loop) {\r\n\t var _this = this;\r\n\t if (dir === void 0) { dir = 1; }\r\n\t if (play === void 0) { play = true; }\r\n\t if (loop === void 0) { loop = false; }\r\n\t return new Promise(function (resolve) {\r\n\t _this.scaleX = dir;\r\n\t if (_this._aniName !== name) {\r\n\t _this._aniName = name;\r\n\t var oldAni = _this.removeChild(_this.getChildByName('body'));\r\n\t if (oldAni) {\r\n\t oldAni.stop();\r\n\t }\r\n\t var ani = _this._currentAni = _this['ani' + name];\r\n\t _this.addChild(ani);\r\n\t if (play) {\r\n\t ani.play(false, loop);\r\n\t if (loop) {\r\n\t resolve();\r\n\t }\r\n\t else {\r\n\t ani.once(engine.Event.END_FRAME, resolve);\r\n\t }\r\n\t }\r\n\t else {\r\n\t resolve();\r\n\t }\r\n\t }\r\n\t });\r\n\t };\r\n\t Player.prototype.setup = function () {\r\n\t this.prefectEffect = createSvga('完美着地特效', 'playerLandPrefectAnchor');\r\n\t this.landEffect = createSvga('着地特效', 'playerLandEffectAnchor');\r\n\t for (var key in svgaAssets) {\r\n\t var _a = svgaAssets[key], name = _a.name, dir = _a.dir;\r\n\t var body = this[key] = createSvga(name, key.replace('ani', 'player') + 'Anchor');\r\n\t body.name = 'body';\r\n\t body.scaleX = dir;\r\n\t }\r\n\t };\r\n\t Player.prototype.reset = function (revive) {\r\n\t this.x = 0;\r\n\t this.rotation = 0;\r\n\t this.scaleX = this.scaleY = 1;\r\n\t this._prefectLandCounting = 0;\r\n\t engine.Tween.removeTweens(this);\r\n\t if (revive) {\r\n\t this.switchAni('Jump', 1, false);\r\n\t }\r\n\t };\r\n\t Player.prototype.playReady = function () {\r\n\t var _this = this;\r\n\t return new Promise(function (resolve) {\r\n\t _this.switchAni('Ready', 1);\r\n\t _this._currentAni.once(engine.Event.END_FRAME, function () {\r\n\t this.switchAni('Ready2', 1, true, true);\r\n\t resolve();\r\n\t }, _this);\r\n\t });\r\n\t };\r\n\t Player.prototype.onEnterFrame = function (event) {\r\n\t if (!this.playing) {\r\n\t return;\r\n\t }\r\n\t this.vy += this.g;\r\n\t this.y += this.vy;\r\n\t if (this.vy > 0 && this._aniName !== 'Fall') {\r\n\t this.dispatchEvent('jump-on-top');\r\n\t this.switchAni('Fall');\r\n\t }\r\n\t if (this.y > this.baseY) {\r\n\t this.y = this.baseY;\r\n\t this.playing = false;\r\n\t this.jumpPromise && this.jumpPromise({\r\n\t aboveBlock: this.aboveBlock,\r\n\t });\r\n\t this.jumpPromise = null;\r\n\t }\r\n\t };\r\n\t Player.prototype.changeBaseY = function (v) {\r\n\t if (this.baseY == v) {\r\n\t return;\r\n\t }\r\n\t this.aboveBlock = true;\r\n\t this.baseY = v;\r\n\t };\r\n\t Player.prototype.jump = function () {\r\n\t var _this = this;\r\n\t playSound('跳起音效');\r\n\t this.switchAni('Jump', 1, false);\r\n\t this._currentAni.play(false, false);\r\n\t this.aboveBlock = false;\r\n\t this.playing = true;\r\n\t this.baseY = this.y;\r\n\t this.vy = -props.jumpSpeed;\r\n\t return new Promise(function (resolve) {\r\n\t _this.jumpPromise = resolve;\r\n\t });\r\n\t };\r\n\t Player.prototype.playLand = function (type, dir) {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var _a, prefectEffect_1, landEffect_1;\r\n\t return tslib.__generator(this, function (_b) {\r\n\t switch (_b.label) {\r\n\t case 0:\r\n\t _a = type;\r\n\t switch (_a) {\r\n\t case 0: return [3, 1];\r\n\t case 1: return [3, 4];\r\n\t case 2: return [3, 4];\r\n\t case 3: return [3, 5];\r\n\t }\r\n\t return [3, 6];\r\n\t case 1:\r\n\t this._prefectLandCounting++;\r\n\t playSound('完美落地音效' + Math.min(4, this._prefectLandCounting));\r\n\t prefectEffect_1 = this.prefectEffect;\r\n\t this.addChildAt(prefectEffect_1, 0);\r\n\t prefectEffect_1.gotoAndPlay(1);\r\n\t prefectEffect_1.once(engine.Event.END_FRAME, function () {\r\n\t this.removeChild(prefectEffect_1);\r\n\t }, this);\r\n\t landEffect_1 = this.landEffect;\r\n\t this.addChildAt(landEffect_1, 0);\r\n\t landEffect_1.gotoAndPlay(1);\r\n\t landEffect_1.once(engine.Event.END_FRAME, function () {\r\n\t this.removeChild(landEffect_1);\r\n\t }, this);\r\n\t return [4, this.switchAni('LandPerfect')];\r\n\t case 2:\r\n\t _b.sent();\r\n\t return [4, this.switchAni('Ready2', 1, true, true)];\r\n\t case 3:\r\n\t _b.sent();\r\n\t return [3, 6];\r\n\t case 4:\r\n\t this._prefectLandCounting = 0;\r\n\t playSound('普通落地音效');\r\n\t this.switchAni('Ready2', 1, true, true);\r\n\t return [3, 6];\r\n\t case 5:\r\n\t this._prefectLandCounting = 0;\r\n\t playSound('边缘落地音效');\r\n\t this.switchAni('LandSide', dir);\r\n\t return [3, 6];\r\n\t case 6: return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t Player.prototype.hitAway = function (dir) {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t this.jumpPromise && this.jumpPromise();\r\n\t this.jumpPromise = null;\r\n\t playSound('被撞开音效');\r\n\t this.switchAni('Hit', dir);\r\n\t this.vy = 0;\r\n\t return [4, new Promise(function (resolve) {\r\n\t engine.Tween.get(_this)\r\n\t .to({\r\n\t x: -dir * props.hitAwayDistance.x,\r\n\t }, props.hitAwayDuration, engine.Ease.quartOut);\r\n\t engine.Tween.get(_this)\r\n\t .to({\r\n\t y: _this.y + props.hitAwayDistance.y,\r\n\t }, props.hitAwayDuration, engine.Ease.cubicOut)\r\n\t .call(resolve);\r\n\t })];\r\n\t case 1:\r\n\t _a.sent();\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t Player.prototype.parachute = function (dir) {\r\n\t var _this = this;\r\n\t this.switchAni('Parachute', dir);\r\n\t return new Promise(function (resolve) {\r\n\t engine.Tween.get(_this)\r\n\t .wait(200)\r\n\t .call(function () {\r\n\t playSound('降落伞下落音效');\r\n\t })\r\n\t .wait(300)\r\n\t .to({ y: _this.y + props.parachuteDistance }, props.parachuteDuration)\r\n\t .set({ anchorOffsetY: 0 })\r\n\t .call(resolve);\r\n\t });\r\n\t };\r\n\t return Player;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=Player.js.map\n\n\tvar Base = (function (_super) {\r\n\t tslib.__extends(Base, _super);\r\n\t function Base() {\r\n\t return _super.call(this, getTextureByName('底座')) || this;\r\n\t }\r\n\t Base.prototype.setup = function () {\r\n\t this.x = -(this.width) / 2;\r\n\t };\r\n\t Base.prototype.reset = function () {\r\n\t this.y = -props.baseOffset;\r\n\t };\r\n\t return Base;\r\n\t}(engine.Image));\r\n\t//# sourceMappingURL=Base.js.map\n\n\tvar GuideLayer = (function (_super) {\r\n\t tslib.__extends(GuideLayer, _super);\r\n\t function GuideLayer() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.setup();\r\n\t return _this;\r\n\t }\r\n\t GuideLayer.prototype.setup = function () {\r\n\t };\r\n\t GuideLayer.prototype.show = function (id, options) {\r\n\t var _this = this;\r\n\t return new Promise(function (resolve) {\r\n\t _this.visible = true;\r\n\t if (!_this.guideMask) {\r\n\t var _a = _this.stage, width = _a.width, height = _a.height;\r\n\t var guideMask = _this.guideMask = new engine.Container();\r\n\t var guideHole = new engine.Image(getTextureByName('引导遮罩'));\r\n\t guideHole.x = (width - guideHole.width) / 2;\r\n\t guideHole.y = options.y;\r\n\t guideMask.addChild(guideHole);\r\n\t _this.createRect(guideMask, 0, 0, width, guideHole.y);\r\n\t _this.createRect(guideMask, 0, guideHole.y, guideHole.x, guideHole.height);\r\n\t _this.createRect(guideMask, guideHole.x + guideHole.width, guideHole.y, width - guideHole.x - guideHole.width, guideHole.height);\r\n\t _this.createRect(guideMask, 0, guideHole.y + guideHole.height, width, height - guideHole.y - guideHole.height);\r\n\t var label = _this.label = new engine.Label();\r\n\t label.fillColor = 'white';\r\n\t label.size = 25;\r\n\t label.text = props.guideText;\r\n\t label.x = (width - label.width) / 2;\r\n\t label.y = guideHole.y + guideHole.height + 50;\r\n\t guideMask.addChild(label);\r\n\t _this.addChild(guideMask);\r\n\t }\r\n\t _this.once(engine.MouseEvent.CLICK, function () {\r\n\t this.visible = false;\r\n\t resolve();\r\n\t }, _this);\r\n\t });\r\n\t };\r\n\t GuideLayer.prototype.createRect = function (container, x, y, width, height) {\r\n\t var rect = new engine.Rect();\r\n\t rect.x = x;\r\n\t rect.y = y;\r\n\t rect.width = width;\r\n\t rect.height = height;\r\n\t rect.fillColor = 'black';\r\n\t rect.alpha = 0.7;\r\n\t container.addChild(rect);\r\n\t };\r\n\t return GuideLayer;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GuideLayer.js.map\n\n\tvar GoldBag = (function (_super) {\r\n\t tslib.__extends(GoldBag, _super);\r\n\t function GoldBag() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.setup();\r\n\t return _this;\r\n\t }\r\n\t GoldBag.prototype.setup = function () {\r\n\t var avatar = this.avatar = new engine.Sprite(getTextureByName('钱袋-静态'));\r\n\t avatar.x = -props.goldPackAvatarAnchor.x;\r\n\t avatar.y = -props.goldPackAvatarAnchor.y;\r\n\t this.addChild(avatar);\r\n\t var svga = this.svga = createSvga('钱袋', 'goldPackAnchor');\r\n\t svga.visible = false;\r\n\t this.addChild(svga);\r\n\t };\r\n\t GoldBag.prototype.reset = function (data) {\r\n\t this.y = data.y;\r\n\t this.avatar.visible = true;\r\n\t this.svga.visible = false;\r\n\t this.svga.gotoAndStop(1);\r\n\t this.remain = data.remain;\r\n\t };\r\n\t GoldBag.prototype.playOpen = function () {\r\n\t var _this = this;\r\n\t this.avatar.visible = false;\r\n\t this.svga.visible = true;\r\n\t return new Promise(function (resolve) {\r\n\t _this.svga.play(true, false);\r\n\t _this.svga.once(engine.Event.END_FRAME, function () {\r\n\t this.svga.visible = false;\r\n\t resolve();\r\n\t }, _this);\r\n\t });\r\n\t };\r\n\t return GoldBag;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GoldBag.js.map\n\n\tvar JumpTips = (function (_super) {\r\n\t tslib.__extends(JumpTips, _super);\r\n\t function JumpTips() {\r\n\t return _super.call(this) || this;\r\n\t }\r\n\t JumpTips.prototype.setup = function () {\r\n\t this.width = 124;\r\n\t this.height = 93;\r\n\t var bg = this._bg = new engine.Image(getTextureByName('跳跃提示背景'));\r\n\t bg.width = this.width;\r\n\t bg.height = this.height;\r\n\t bg.anchorX = bg.width / 2;\r\n\t bg.anchorY = bg.height / 2;\r\n\t this.addChild(bg);\r\n\t var jumpTipsLabel = this._jumpTipsLabel = new engine.Label();\r\n\t jumpTipsLabel.width = this.width;\r\n\t jumpTipsLabel.height = this.height;\r\n\t jumpTipsLabel.anchorX = jumpTipsLabel.width / 2;\r\n\t jumpTipsLabel.anchorY = jumpTipsLabel.height / 2;\r\n\t jumpTipsLabel.fillColor = \"#fc4454\";\r\n\t jumpTipsLabel.textAlign = engine.TEXT_ALIGN.CENTER;\r\n\t jumpTipsLabel.verticalAlign = engine.VERTICAL_ALIGN.MIDDLE;\r\n\t jumpTipsLabel.size = 24;\r\n\t jumpTipsLabel.rotation = -26;\r\n\t jumpTipsLabel.text = \"+00\";\r\n\t jumpTipsLabel.x = 0;\r\n\t jumpTipsLabel.y = 0;\r\n\t this.addChild(jumpTipsLabel);\r\n\t this.alpha = 0;\r\n\t };\r\n\t JumpTips.prototype.show = function () {\r\n\t var _this = this;\r\n\t return new Promise(function (resolve) {\r\n\t _this._jumpTipsLabel.text = props.jumpTips[parseInt((Math.random() * props.jumpTips.length) + \"\")];\r\n\t _this.alpha = 1;\r\n\t console.log(\"text233======\", _this._jumpTipsLabel.text, _this.x, _this.y);\r\n\t engine.Tween.get(_this, null, null, true)\r\n\t .wait(800)\r\n\t .to({ alpha: 0 }, 200, engine.Ease.cubicInOut)\r\n\t .call(resolve);\r\n\t });\r\n\t };\r\n\t return JumpTips;\r\n\t}(engine.Container));\n\n\tvar ObjectPool = engine.ObjectPool;\r\n\tvar PoolName = 'gold-bag';\r\n\tObjectPool.registerPool(PoolName, function () {\r\n\t return new GoldBag();\r\n\t}, function (item, data) {\r\n\t item.reset(data);\r\n\t});\r\n\tvar GameView = (function (_super) {\r\n\t tslib.__extends(GameView, _super);\r\n\t function GameView() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.index = -1;\r\n\t _this.goldBags = [];\r\n\t _this.baseOffset = -props.baseOffset + props.playerOffset;\r\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\r\n\t return _this;\r\n\t }\r\n\t GameView.prototype.setup = function () {\r\n\t if (this._hasSetup) {\r\n\t return;\r\n\t }\r\n\t this._hasSetup = true;\r\n\t var _a = this.stage, width = _a.width, height = _a.height;\r\n\t var background = this.background = new Background();\r\n\t this.addChild(background);\r\n\t background.setup();\r\n\t var frontContainer = this.frontContainer = new engine.Container();\r\n\t frontContainer.x = width / 2;\r\n\t this.addChild(frontContainer);\r\n\t var guideLayer = this.guideLayer = new GuideLayer();\r\n\t this.addChild(guideLayer);\r\n\t var base = this.base = new Base();\r\n\t frontContainer.addChild(base);\r\n\t base.setup();\r\n\t var blockShadow = this._blockShadow = new engine.Image(getTextureByName('方块阴影'));\r\n\t blockShadow.anchorX = blockShadow.width / 2;\r\n\t blockShadow.anchorY = blockShadow.height / 2;\r\n\t blockShadow.x = -(blockShadow.width - base.width) / 2;\r\n\t blockShadow.y = props.blockShadowOffset;\r\n\t base.addChild(blockShadow);\r\n\t console.log(\"testbase===\", base);\r\n\t var blockContainer = this.blockContainer = new engine.Container();\r\n\t frontContainer.addChild(blockContainer);\r\n\t var player = this.player = new Player();\r\n\t frontContainer.addChild(player);\r\n\t player.setup();\r\n\t player.addEventListener('jump-on-top', this.onPlayerJumpOnTop, this);\r\n\t var playerShadow = this._playerShadow = new engine.Image(getTextureByName('玩家阴影'));\r\n\t playerShadow.anchorX = playerShadow.width / 2;\r\n\t playerShadow.anchorY = playerShadow.height / 2;\r\n\t playerShadow.x = this.player.x - playerShadow.width / 2;\r\n\t var scoreAddTipsContainer = this.scoreAddTipsContainer = new engine.Container();\r\n\t scoreAddTipsContainer.width = 750;\r\n\t scoreAddTipsContainer.anchorX = scoreAddTipsContainer.width / 2;\r\n\t scoreAddTipsContainer.anchorY = scoreAddTipsContainer.height / 2;\r\n\t var scoreAddTips = this.scoreAddTips = new engine.Label();\r\n\t scoreAddTips.width = 750;\r\n\t scoreAddTips.fillColor = props.scoreAddFontColor;\r\n\t scoreAddTips.textAlign = engine.TEXT_ALIGN.CENTER;\r\n\t scoreAddTips.size = props.scoreAddFontSize;\r\n\t scoreAddTips.alpha = 0;\r\n\t scoreAddTips.text = \"+0\";\r\n\t scoreAddTips.x = this.player.x - scoreAddTips.width / 2;\r\n\t scoreAddTipsContainer.addChild(scoreAddTips);\r\n\t var jumpTips = this.jumpTips = new JumpTips();\r\n\t jumpTips.setup();\r\n\t jumpTips.x = props.jumpTipsOffset.x;\r\n\t frontContainer.addChild(playerShadow);\r\n\t frontContainer.addChild(player);\r\n\t frontContainer.addChild(scoreAddTipsContainer);\r\n\t frontContainer.addChild(jumpTips);\r\n\t ObjectPool.recycleObject(PoolName, ObjectPool.getObject(PoolName, {\r\n\t y: 0,\r\n\t remain: 0,\r\n\t }));\r\n\t this.hitEffect = createSvga('被撞烟雾', 'hitEffectAnchor');\r\n\t this.pos = 0;\r\n\t this.background.setup();\r\n\t this.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);\r\n\t this.reset();\r\n\t };\r\n\t GameView.prototype.setScoreText = function (score) {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t return [2, new Promise(function (resolve) {\r\n\t _this.scoreAddTips.text = score;\r\n\t _this.scoreAddTips.y = 0;\r\n\t _this.scoreAddTips.alpha = 1;\r\n\t engine.Tween.get(_this.scoreAddTips, null, null, true)\r\n\t .to({ y: -100, alpha: 0 }, 500, engine.Ease.cubicInOut)\r\n\t .call(resolve);\r\n\t })];\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.reset = function (revive) {\r\n\t if (revive === void 0) { revive = false; }\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var blockContainer, i, li, block, i, i, li, goldBag;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t this.base.reset();\r\n\t this.index = -1;\r\n\t this._score = 0;\r\n\t if (revive) ;\r\n\t else {\r\n\t this.pos = 0;\r\n\t blockContainer = this.blockContainer;\r\n\t for (i = 0, li = blockContainer.children.length; i < li; i++) {\r\n\t block = blockContainer.getChildAt(i);\r\n\t block.playLeave();\r\n\t }\r\n\t }\r\n\t for (i = 0; i < props.initBlockCount; i++) {\r\n\t this.addBlock(false);\r\n\t }\r\n\t for (i = 0, li = this.goldBags.length; i < li; i++) {\r\n\t goldBag = this.goldBags[i];\r\n\t this.frontContainer.removeChild(goldBag);\r\n\t ObjectPool.recycleObject(PoolName, goldBag);\r\n\t }\r\n\t this.goldBags.splice(0);\r\n\t this.playZoom('in');\r\n\t return [4, this.resetPlayer(revive)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.resetPlayer = function (revive) {\r\n\t if (revive === void 0) { revive = false; }\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t return tslib.__generator(this, function (_a) {\r\n\t this.player.reset(revive);\r\n\t this.player.y = this.baseOffset - (this.index + 1) * props.blockHitHeight + props.blockBaseOffset;\r\n\t return [2];\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.start = function (revive) {\r\n\t if (revive === void 0) { revive = false; }\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var guideFlagKey, guideFlag;\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t this._playerShadow.y = this.player.y + props.playerShadowOffset;\r\n\t this.scoreAddTipsContainer.y = this.player.y + props.scoreAddTipsOffset;\r\n\t this.jumpTips.y = this.player.y + props.jumpTipsOffset.y;\r\n\t if (!!revive) return [3, 2];\r\n\t return [4, this.player.playReady()];\r\n\t case 1:\r\n\t _a.sent();\r\n\t _a.label = 2;\r\n\t case 2:\r\n\t console.log(\"开始\");\r\n\t guideFlagKey = 'jump-high-guide_' + props.guideFlagKey;\r\n\t guideFlag = localStorage.getItem(guideFlagKey);\r\n\t if (!!guideFlag) return [3, 4];\r\n\t localStorage.setItem(guideFlagKey, '1');\r\n\t return [4, this.guideLayer.show('', { y: this.stage.height + this.player.y - 280 })];\r\n\t case 3:\r\n\t _a.sent();\r\n\t _a.label = 4;\r\n\t case 4:\r\n\t this.lastLandType = 0;\r\n\t this._remainToShowGoldBag = props.goldBagScoreMultiple - props.goldBagScoreSubtraction;\r\n\t this._touchEnabled = true;\r\n\t setTimeout(function () {\r\n\t _this.addBlock();\r\n\t }, 100);\r\n\t engine.globalEvent.dispatchEvent('jump-high-game-start');\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.pause = function () {\r\n\t if (this.currentBlock) {\r\n\t engine.Tween.pauseTweens(this.currentBlock);\r\n\t }\r\n\t engine.Tween.pauseTweens(this.player);\r\n\t };\r\n\t GameView.prototype.resume = function () {\r\n\t if (this.currentBlock) {\r\n\t engine.Tween.resumeTweens(this.currentBlock);\r\n\t }\r\n\t engine.Tween.resumeTweens(this.player);\r\n\t };\r\n\t GameView.prototype.revive = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t this.blockContainer.getChildAt(this.index).visible = false;\r\n\t this.index--;\r\n\t return [4, this.resetPlayer(true)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t return [4, this.playZoom('in')];\r\n\t case 2:\r\n\t _a.sent();\r\n\t this.start(true);\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.addBlock = function (animation) {\r\n\t var _this = this;\r\n\t if (animation === void 0) { animation = true; }\r\n\t this.index++;\r\n\t var blockContainer = this.blockContainer;\r\n\t var block;\r\n\t if (blockContainer.children.length > this.index) {\r\n\t block = blockContainer.getChildAt(this.index);\r\n\t block.visible = true;\r\n\t }\r\n\t else {\r\n\t block = new Block();\r\n\t blockContainer.addChild(block);\r\n\t }\r\n\t block.reset({\r\n\t type: Math.floor(Math.random() * props.blockAssets.length),\r\n\t });\r\n\t block.y = this.baseOffset - this.index * props.blockHitHeight + props.blockBaseOffset;\r\n\t this.blockComplete = false;\r\n\t block.playEnter(this.index, animation).then(function (data) {\r\n\t _this.blockComplete = true;\r\n\t });\r\n\t if (animation) {\r\n\t this.needHitTest = true;\r\n\t }\r\n\t this.currentBlock = block;\r\n\t };\r\n\t GameView.prototype.addGoldBag = function () {\r\n\t var goldBag = ObjectPool.getObject(PoolName, {\r\n\t y: this.baseOffset - (this.blockCount + props.goldBagDistance + props.goldBagJumpSubtraction) * props.blockHitHeight,\r\n\t remain: props.goldBagDistance,\r\n\t });\r\n\t this.frontContainer.addChild(goldBag);\r\n\t this.goldBags.push(goldBag);\r\n\t };\r\n\t GameView.prototype.playOpenGoldBag = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var i, li, goldBag;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t i = 0, li = this.goldBags.length;\r\n\t _a.label = 1;\r\n\t case 1:\r\n\t if (!(i < li)) return [3, 4];\r\n\t goldBag = this.goldBags[i];\r\n\t goldBag.remain--;\r\n\t if (!(goldBag.remain <= 0)) return [3, 3];\r\n\t this.goldBags.splice(i, 1);\r\n\t i--;\r\n\t li--;\r\n\t this.nextToUpdateScore = true;\r\n\t return [4, goldBag.playOpen()];\r\n\t case 2:\r\n\t _a.sent();\r\n\t this.frontContainer.removeChild(goldBag);\r\n\t ObjectPool.recycleObject(PoolName, goldBag);\r\n\t _a.label = 3;\r\n\t case 3:\r\n\t i++;\r\n\t return [3, 1];\r\n\t case 4: return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.onPlayerJumpOnTop = function () {\r\n\t if (this.nextToUpdateScore) {\r\n\t this.nextToUpdateScore = false;\r\n\t this.scoreChange(4);\r\n\t playSound('撞击钱袋音效');\r\n\t }\r\n\t };\r\n\t Object.defineProperty(GameView.prototype, \"blockCount\", {\r\n\t get: function () {\r\n\t return this.index - props.initBlockCount + 1;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t Object.defineProperty(GameView.prototype, \"pos\", {\r\n\t get: function () {\r\n\t return this._pos;\r\n\t },\r\n\t set: function (v) {\r\n\t this._pos = v;\r\n\t this.updatePos();\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t GameView.prototype.updatePos = function () {\r\n\t this.frontContainer.y = this.stage.height + this._pos;\r\n\t };\r\n\t GameView.prototype.onEnterFrame = function (event) {\r\n\t if (this.needHitTest) {\r\n\t if (this.currentBlock) {\r\n\t var _a = this.currentBlock, bx = _a.x, by = _a.y, dir = _a.dir;\r\n\t var _b = this.player, px = _b.x, py = _b.y;\r\n\t var blockHitWidth = props.blockHitWidth, blockHitHeight = props.blockHitHeight, playerWidth = props.playerWidth;\r\n\t var hitOn = false;\r\n\t if (Math.abs(px - bx) < (blockHitWidth + playerWidth) / 2) {\r\n\t this.player.changeBaseY(by - blockHitHeight);\r\n\t if (py > by - blockHitHeight) {\r\n\t hitOn = true;\r\n\t }\r\n\t }\r\n\t if (hitOn) {\r\n\t this.onHitOn(dir);\r\n\t }\r\n\t }\r\n\t }\r\n\t };\r\n\t GameView.prototype.onHitOn = function (dir) {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t this._touchEnabled = false;\r\n\t this.needHitTest = false;\r\n\t clearInterval(this.timer);\r\n\t this.currentBlock.playHit();\r\n\t this._playerShadow.visible = false;\r\n\t this.playHitEffect(dir);\r\n\t return [4, this.player.hitAway(dir)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.playZoom('out');\r\n\t return [4, this.player.parachute(dir)];\r\n\t case 2:\r\n\t _a.sent();\r\n\t engine.globalEvent.dispatchEvent('jump-high-game-end');\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.jump = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var result, pos, type, lastLandType;\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t if (!this._touchEnabled) {\r\n\t return [2];\r\n\t }\r\n\t this._playerShadow.visible = false;\r\n\t this._touchEnabled = false;\r\n\t this.playOpenGoldBag();\r\n\t return [4, this.player.jump()];\r\n\t case 1:\r\n\t result = _a.sent();\r\n\t if (!result) return [3, 5];\r\n\t if (!result.aboveBlock) return [3, 4];\r\n\t pos = Math.abs(this.currentBlock.x);\r\n\t type = 0;\r\n\t if (pos > 0) {\r\n\t type = pos > 0 && pos < props.scoreThreshold ? 2 : 3;\r\n\t }\r\n\t lastLandType = this.lastLandType;\r\n\t this.lastLandType = type;\r\n\t if (type === 0) {\r\n\t if (lastLandType !== type) {\r\n\t type = 1;\r\n\t }\r\n\t }\r\n\t if (type < 3) {\r\n\t this.currentBlock.playEffect();\r\n\t }\r\n\t if (type === 0) {\r\n\t this.currentBlock.playProFect();\r\n\t }\r\n\t if (type != 3) {\r\n\t this._playerShadow.visible = true;\r\n\t }\r\n\t this._playerShadow.y = this.player.y + props.playerShadowOffset;\r\n\t this.player.playLand(type, this.currentBlock.dir);\r\n\t this.currentBlock.stop();\r\n\t this.scoreChange(type);\r\n\t return [4, this.playShake()];\r\n\t case 2:\r\n\t _a.sent();\r\n\t return [4, new Promise(function (resolve) {\r\n\t engine.Tween.get(_this, null, null, true)\r\n\t .to({ pos: props.blockHitHeight * _this.index }, 300, engine.Ease.cubicOut)\r\n\t .call(resolve);\r\n\t })];\r\n\t case 3:\r\n\t _a.sent();\r\n\t this.addBlock();\r\n\t _a.label = 4;\r\n\t case 4:\r\n\t this._touchEnabled = true;\r\n\t _a.label = 5;\r\n\t case 5: return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.scoreChange = function (type) {\r\n\t var scoreAdd = props.scoreWeights[type];\r\n\t this._score += scoreAdd;\r\n\t this._remainToShowGoldBag -= scoreAdd;\r\n\t var score = this._score;\r\n\t engine.globalEvent.dispatchEvent('jump-high-score', {\r\n\t type: type,\r\n\t score: score,\r\n\t scoreAdd: scoreAdd,\r\n\t });\r\n\t this.scoreAddTipsContainer.y = this.player.y + props.scoreAddTipsOffset;\r\n\t this.setScoreText(\"+\" + scoreAdd);\r\n\t this.jumpTips.y = this.player.y + props.jumpTipsOffset.y;\r\n\t this.jumpTips.show();\r\n\t console.log(score, this._remainToShowGoldBag);\r\n\t if (this._remainToShowGoldBag <= 0) {\r\n\t this._remainToShowGoldBag += props.goldBagScoreMultiple;\r\n\t this.addGoldBag();\r\n\t console.log('addGoldBag');\r\n\t }\r\n\t };\r\n\t GameView.prototype.playHitEffect = function (dir) {\r\n\t var hitEffect = this.hitEffect;\r\n\t hitEffect.scaleX = dir;\r\n\t hitEffect.y = this.player.y - props.hitEffectAnchor.y;\r\n\t hitEffect.play(true, false);\r\n\t hitEffect.once(engine.Event.END_FRAME, function () {\r\n\t this.frontContainer.removeChild(hitEffect);\r\n\t }, this);\r\n\t this.frontContainer.addChild(hitEffect);\r\n\t };\r\n\t GameView.prototype.playZoom = function (type, duration) {\r\n\t var _this = this;\r\n\t if (duration === void 0) { duration = 700; }\r\n\t this.background.playZoom(type, duration);\r\n\t var count = this.stage.height / props.blockHitHeight;\r\n\t return new Promise(function (resolve) {\r\n\t _this.frontContainer.anchorY = -props.blockHitHeight * (_this.index + count * 1.3) + props.baseOffset;\r\n\t var scale = type === 'in' ? 1 : Math.min((_this.stage.height / props.blockHitHeight / (_this.index + count)), props.maxScale);\r\n\t console.log(scale);\r\n\t engine.Tween.get(_this.frontContainer, null, null, true)\r\n\t .to({ scaleX: scale, scaleY: scale }, duration, engine.Ease.cubicInOut)\r\n\t .call(resolve);\r\n\t });\r\n\t };\r\n\t GameView.prototype.playShake = function () {\r\n\t var _this = this;\r\n\t var _a = this.frontContainer, x = _a.x, y = _a.y;\r\n\t return new Promise(function (resolve) {\r\n\t var shakeOffset = 7;\r\n\t var duration = 30;\r\n\t engine.Tween.get(_this.frontContainer, null, null, true)\r\n\t .to({ x: x, y: y - shakeOffset }, duration)\r\n\t .to({ x: x, y: y + shakeOffset }, duration)\r\n\t .to({ x: x + shakeOffset, y: y }, duration)\r\n\t .to({ x: x - shakeOffset, y: y }, duration)\r\n\t .to({ x: x, y: y }, duration)\r\n\t .call(resolve);\r\n\t });\r\n\t };\r\n\t return GameView;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameView.js.map\n\n\tvar JumpHigh = (function (_super) {\r\n\t tslib.__extends(JumpHigh, _super);\r\n\t function JumpHigh() {\r\n\t var _this = _super.call(this) || this;\r\n\t engine.globalEvent.addEventListener('jump-high-reset', _this.reset, _this);\r\n\t engine.globalEvent.addEventListener('jump-high-start', _this.start, _this);\r\n\t engine.globalEvent.addEventListener('jump-high-pause', _this.pause, _this);\r\n\t engine.globalEvent.addEventListener('jump-high-resume', _this.resume, _this);\r\n\t engine.globalEvent.addEventListener('jump-high-revive', _this.revive, _this);\r\n\t _this.addEventListener(engine.MouseEvent.MOUSE_DOWN, _this.onTap, _this);\r\n\t var gameView = _this._gameView = new GameView();\r\n\t _this.addChild(gameView);\r\n\t return _this;\r\n\t }\r\n\t JumpHigh.prototype.reset = function () {\r\n\t this._gameView.reset();\r\n\t };\r\n\t JumpHigh.prototype.start = function (event) {\r\n\t {\r\n\t injectProps(event.data);\r\n\t }\r\n\t this._status = 1;\r\n\t this._gameView.start();\r\n\t };\r\n\t JumpHigh.prototype.pause = function () {\r\n\t this._gameView.pause();\r\n\t };\r\n\t JumpHigh.prototype.resume = function () {\r\n\t this._gameView.resume();\r\n\t };\r\n\t JumpHigh.prototype.revive = function () {\r\n\t this._gameView.revive();\r\n\t };\r\n\t JumpHigh.prototype.onTap = function (event) {\r\n\t this._gameView.jump();\r\n\t };\r\n\t return JumpHigh;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=JumpHigh.js.map\n\n\tfunction index (props) {\r\n\t prepareProps();\r\n\t injectProps(props);\r\n\t var instance = new JumpHigh();\r\n\t return instance;\r\n\t}\r\n\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n"
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
{"version":3,"file":"index.js","sources":["src/custom/food-fell2/src/props.ts","src/custom/food-fell2/src/game/utils.ts","src/custom/food-fell2/src/game/Goods.ts","src/custom/food-fell2/src/game/object-pool-init.ts","src/custom/food-fell2/src/game/GameView.ts","src/custom/food-fell2/src/game/GameWrapper.ts","src/custom/food-fell2/src/index.ts"],"sourcesContent":["/**\n * Created by rockyl on 2020-01-21.\n */\n\nexport let props: any = {};\n\nexport function prepareProps() {\n\tlet metaProps = getProps();\n\n\tengine.injectProp(props, metaProps);\n}\n\nexport function injectProps(p) {\n\tengine.injectProp(props, p);\n}\n","/**\n * Created by rockyl on 2020-01-21.\n */\n\nexport function getTexture(uuid) {\n\treturn engine.Texture.from(getAssetByUUID(uuid).uuid);\n}\n\nexport function getTextureByName(name) {\n\treturn engine.Texture.from(getAssetByName(name).uuid);\n}\n\nexport function playSound(name) {\n\tengine.playSound(getAssetByName(name).uuid, {keep: true});\n}\nexport function createSvga(name, anchorName?) {\n\tlet inst = new svga.Svga();\n\tinst.source = 'asset://' + getAssetByName(name).uuid;\n\treturn inst;\n}","/**\n * Created by rockyl on 2020-02-02.\n *\n * 掉落物品\n */\nimport {getTextureByName} from \"./utils\";\nimport {props} from \"../props\";\n\nexport class Goods extends engine.Container {\n\tprivate _body:engine.Rect\n\tprivate _toY;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tlet body\n\t\tbody = this._body =new engine.Rect()\n\t\t\n\t\t// let randomNum = Math.floor(Math.random() * 3)\t\t\n\t\t// console.log('雨滴' + randomNum);\n\t\t\n\t\tlet rain = new engine.Sprite(getTextureByName('雨滴0'));\n\t\tlet rain1 = new engine.Sprite(getTextureByName('雨滴1'));\n\t\tlet rain2 = new engine.Sprite(getTextureByName('雨滴2'));\n\t\train[\"npcType\"]=\"rain0\"\n\t\train1[\"npcType\"]=\"rain1\"\n\t\train2[\"npcType\"]=\"rain2\"\n\t\tlet stone = new engine.Sprite(getTextureByName('石块'));\n\t\tstone[\"npcType\"]=\"stone\"\n\t\tlet boom = new engine.Sprite(getTextureByName('炸弹'));\n\t\tboom[\"npcType\"]=\"boom\"\n\n\t\train.visible=false;\n\t\train1.visible=false;\n\t\train2.visible=false;\n\t\tstone.visible=false;\n\t\tboom.visible=false;\n\t\tbody.addChild(rain)\n\t\tbody.addChild(rain1)\n\t\tbody.addChild(rain2)\n\t\tbody.addChild(stone)\n\t\tbody.addChild(boom)\n\t\t\n\t\tthis.addChild(body);\n\t\tbody.width=.0001;\n\t\tbody.height=.0001;\n\t\tbody.mouseEnabled=false;\n\t}\n\n\n\tgetRandomNumberByRange(start, end) {\n\t\treturn Math.floor(Math.random() * (end - start) + start)\n\t}\n\n\treset() {\n\t\tthis.visible = true;\n\t\tthis.rotation = 0;\n\t\tthis.anchorOffsetY = 0;\n\t\tthis.y = 0;\n\t\tthis.x = (750-120)*Math.random()+30;\n\t\tthis.rotation = 0;\n\t\tlet random=Math.random()\n\t\tif(typeof (props.goodsProbability) == 'string'){\n\t\t\tprops.goodsProbability=props.goodsProbability.split(',').map((i: string) => +i)\n\t\t\t//console.log(props.goodsProbability);\n\t\t\t\n\t\t}\n\t\tif(random<props.goodsProbability[0]){\n\t\t\tlet randomNum = Math.floor(Math.random() * 3)\t\t\n\t\t\tthis.showNpc(\"rain\" + randomNum)\n\t\t}else if(random>=props.goodsProbability[0]&&random<=(props.goodsProbability[0]+props.goodsProbability[1])){\n\t\t\tthis.showNpc(\"stone\")\n\t\t}else if(random>(props.goodsProbability[0]+props.goodsProbability[1])){\n\t\t\tthis.showNpc(\"boom\")\n\t\t}\n\t}\n\n\n\tshowNpc(type){\n\t\tfor(let i=0;i<this._body.children.length;i++){\n\t\t\tthis._body.children[i].visible=false;\n\t\t\tthis._body.children[i].mouseEnabled=false;\n\t\t}\t\t\n\t\tfor(let i=0;i<this._body.children.length;i++){\n\t\t\tif(this._body.children[i][\"npcType\"]==type){\n\t\t\t\tthis[\"npcType\"]=type\n\t\t\t\tthis._body.children[i].visible=true;\n\t\t\t\tthis._body.children[i].mouseEnabled=false;\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\n\tset anchorOffsetY(v) {\n\t\tthis._body.y = v;\n\t}\n}\n","/**\n * Created by rockyl on 2020-02-03.\n */\n\nimport {Goods} from \"./Goods\";\nimport ObjectPool = engine.ObjectPool;\n\nexport const PoolName: string = 'goods';\n\nObjectPool.registerPool(PoolName, function () {\n\treturn new Goods();\n}, function (item: Goods, data) {\n\titem.reset();\n});\n","/**\n * Created by rockyl on 2018/8/16.\n */\n\nimport { props } from \"../props\";\nimport { playSound, createSvga } from \"./utils\";\nimport ObjectPool = engine.ObjectPool;\nimport { getTextureByName } from \"./utils\";\nimport { Goods } from \"./Goods\";\nimport { PoolName } from \"./object-pool-init\";\n\n\n\nexport default class GameView extends engine.Container {\n\n\tprivate _hasSetup;\n\n\t//玩家\n\tprivate player: engine.Container;\n\t//触摸层\n\t// private rectBg: engine.Rect;\n\tprivate rectBg: engine.Container;\n\t//npc层\n\tprivate NpcBg: engine.Container;\n\n\t//当前分数\n\tprivate score\n\n\t//游戏状态\n\tprivate gameIng;\n\n\t//npc出身计时器\n\tprivate timer\n\t//倒计时计时器\n\tprivate countdownTimer: any\n\t//倒计时\n\tprivate countdown: number\n\n\t//当前速度\n\tprivate speed: number\n\n\t// 当前场景上面的物品\n\tprivate goodsItems = []\n\n\tprivate viewVisible=true;\n\n\n\tprivate _goods: Goods;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.once(engine.Event.ADDED_TO_STAGE, this.setup, this);\n\t}\n\n\tprivate waterSvga\n\tprivate stoneSvga\n\tprivate boomSvga\n\tprivate playerSvga\n\n\tsetup() {\n\t\tif (this._hasSetup) {\n\t\t\treturn;\n\t\t}\n\t\tthis._hasSetup = true;\n\t\tthis.NpcBg = new engine.Container();\n\t\tthis.NpcBg.alpha = 1;\n\t\tthis.NpcBg.width = 0;\n\t\tthis.NpcBg.height = 0;\n\t\tthis.addChild(this.NpcBg);\n\n\t\n\n\t\tthis.player = new engine.Container();\n\t\tthis.player.mouseEnabled = false;\n\t//\tthis.player.fillColor=\"rgba(0, 0, 0,1)\"\n\t\t//console.log(this.player.fillColor)\n\t\n\t\tthis.addChild(this.player);\n\n\t\tthis.waterSvga=createSvga(\"水花\")\n\t\tthis.stoneSvga=createSvga(\"石头svga\")\n\t\t// this.playerSvga=createSvga(\"玩家\")\n\t\tthis.playerSvga= new engine.Sprite(getTextureByName('玩家'))\n\t\tthis.boomSvga=createSvga(\"炸弹svga\")\n\t\tthis.player.addChild(this.playerSvga);\n\t\tthis.player.addChild(this.stoneSvga);\n\t\tthis.player.addChild(this.waterSvga);\n\t\tthis.player.addChild(this.boomSvga);\n\t\t// this.playerSvga.gotoAndPlay(1);\n\n\t\t\n\n\t\tthis.waterSvga.visible = false\n\t\tthis.stoneSvga.visible = false\n\t\tthis.boomSvga.visible = false\n\t\t\n\t\tthis.visible=false;\n\t\tsetTimeout(()=>{\n\t\t\tthis.visible=true;\n\t\t\tthis.player.anchorY = this.player.height / 2;\n\t\t\tthis.player.anchorX = this.player.width / 2;\n\t\t\tthis.player.x = 375 - this.player.width / 2;\n\t\t\tthis.player.y = props.playerPositionY;\n\n\t\t\tthis.stoneSvga.x = this.player.width / 2 - \tthis.stoneSvga.width/2 + props.boomPosition1Offset[0];\n\t\t\tthis.stoneSvga.y = this.player.height / 2 - this.stoneSvga.height/2 + props.boomPosition1Offset[1];\n\n\t\t\tthis.waterSvga.x = this.player.width / 2 - \tthis.waterSvga.width/2+ props.boomPosition2Offset[0];\n\t\t\tthis.waterSvga.y = this.player.height / 2 - this.waterSvga.height/2 + props.boomPosition2Offset[1];\n\n\t\t\tthis.boomSvga.x = this.player.width / 2 - \tthis.boomSvga.width/2+ props.boomPosition3Offset[0];\n\t\t\tthis.boomSvga.y = this.player.height / 2 - this.boomSvga.height/2 + props.boomPosition3Offset[1];\n\n\t\t\t// this.stoneSvga.x=props.boomPositionOffset[0]\n\t\t\t// this.stoneSvga.y=props.boomPositionOffset[1]\n\n\t\t\t// this.waterSvga.x=props.boomPositionOffset[0]\n\t\t\t// this.waterSvga.y=props.boomPositionOffset[1]\n\n\t\t\t// this.boomSvga.x=props.boomPositionOffset[0]\n\t\t\t// this.boomSvga.y=props.boomPositionOffset[1]\n\n\t\t\t\n\t\t},300)\n\n\t\t\n\t\tthis.rectBg = new engine.Container();\n\t\tthis.rectBg.alpha = 0;\n\t\tthis.rectBg.width = 750;\n\t\tthis.rectBg.height = 1624;\n\t\tthis.addChild(this.rectBg)\n\n\t\tthis.rectBg.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDownStage, this);\n\t\tthis.rectBg.addEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMoveStage, this);\n\t\tthis.rectBg.addEventListener(engine.MouseEvent.MOUSE_OUT, this.onOutStage, this);\n\n\n\t\tdocument.addEventListener(\"visibilitychange\",()=>{\n\t\t\tif(document.visibilityState==\"visible\"){\n\t\t\t\tthis.viewVisible=true;\n\t\t\t}\n\t\t\tif(document.visibilityState==\"hidden\"){\n\t\t\t\tthis.viewVisible=false;\n\t\t\t}\n\t\t})\n\n\t\tthis.addEventListener(engine.Event.ENTER_FRAME, this.enterFrame,this)\n\t\n\t}\n\n\tenterFrame(){\n\t\tthis.updateTime()\n\t\tthis.updateTimeBeginNpc()\n\t}\n\n\n\t/**\n\t * 重置场景\n\t */\n\treset() {\n\t\tthis.score = props.speed\n\t\tthis.recycleGoods()\n\t\tthis.player.x = 375 - this.player.width / 2;\n\t}\n\n\t/**\n\t * 开始\n\t */\n\tstart() {\n\t\tthis.score = 0;\n\t\tthis.speed = 1\n\t\tthis.gameIng = true;\n\t\t//this.creatNpc()\n\t\tthis.beginNpc()\n\t\tthis.countdown = props.countDown;\n\t}\n\n\tcacheTime=0\n\tupdateTime(){\n\t\tif(Date.now()-this.cacheTime>1000){\n\t\t\tthis.cacheTime=Date.now()\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\tif (this.gameIng) {\n\t\t\tif (this.countdown > 0) {\n\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-time-update', {\n\t\t\t\t\ttime: this.countdown,\n\t\t\t\t});\n\t\t\t\tthis.countdown -= 1\n\t\t\t} else {\n\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-game-over', {\n\t\t\t\t\tscore: this.score,\n\t\t\t\t\treason: 1\n\t\t\t\t});\n\t\t\t\tthis.died()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * npc开始掉落\n\t */\n\tbeginNpc() {\n\t\t// this.timer = setTimeout(() => {\n\t\t\t\n\t\t// \t//递归执行\n\t\t// \tthis.beginNpc()\n\t\t// }, 2000 / this.speed)\n\t}\n\n\tcacheTime2=0\n\tupdateTimeBeginNpc(){\n\t\tif(Date.now()-this.cacheTime2>(2000 / this.speed)){\n\t\t\tthis.cacheTime2=Date.now()\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\tif (this.gameIng) {\n\t\t\tthis.speed += props.acceleratedSpeed;\n\t\t\tif(this.speed >= props.maxSpeed){\n\t\t\t\tthis.speed = props.maxSpeed\n\t\t\t}\n\t\t\tthis.creatNpc()\n\t\t}\n\t}\n\n\t/**\n\t * 暂停\n\t */\n\tpause() {\n\t\tthis.gameIng = false;\n\t}\n\n\t/**\n\t * 恢复\n\t */\n\trevive() {\n\t\tthis.gameIng = true;\n\t}\n\n\t/**\n\t * 重新开始\n\t */\n\tresume() {\n\t\tthis.reset()\n\t\tthis.start()\n\t}\n\n\t/**\n\t * 创建NPC\n\t */\n\tprivate creatNpc() {\n\t\tlet goods = this._goods = <Goods>ObjectPool.getObject(PoolName);\n\t\tthis.goodsItems.push(goods)\n\t\t//console.log(goods);\n\t\t\n\t\tthis.NpcBg.addChild(goods);\n\t\tgoods.addEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"] = () => {\n\t\t\tif (goods.y > 1624) {\n\t\t\t\tthis.removeNpc(goods)\n\t\t\t} else {\n\t\t\t\tif (this.gameIng) {\n\t\t\t\t\t//速度叠加\n\t\t\t\t\tgoods.y += (4 * this.speed)\n\t\t\t\t\t//如果玩家和物品发生碰撞\n\t\t\t\t\tif (this.hasHit(this.player, goods)) {\n\t\t\t\t\t\tif (goods[\"npcType\"].indexOf(\"rain\") > -1) {\n\t\t\t\t\t\t\t//console.log(\"碰到雨滴\")\n\t\t\t\t\t\t\tthis.score += props.rainScore;\n\t\t\t\t\t\t\tthis.waterSvga.visible=true;\n\t\t\t\t\t\t//\tthis.waterSvga.x= goods.x - this.player.x;\n\t\t\t\t\t\t\tthis.waterSvga.play(false, false)\n\t\t\t\t\t\t\tthis.waterSvga.once(engine.Event.END_FRAME, ()=>{\n\t\t\t\t\t\t\t\tthis.waterSvga.visible=false;\n\t\t\t\t\t\t\t}, this);\n\n\t\t\t\t\t\t\tif(this.score<0){\n\t\t\t\t\t\t\t\tthis.score=0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (goods[\"npcType\"] == \"stone\") {\n\t\t\t\t\t\t\t//console.log(\"碰到石头\")\n\t\t\t\t\t\t\tthis.score += props.stoneScore\n\t\t\t\t\t\t\tif(this.score<0){\n\t\t\t\t\t\t\t\tthis.score=0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.stoneSvga.visible=true;\n\t\t\t\t\t\t\tthis.stoneSvga.play(false, false)\n\t\t\t\t\t\t\tthis.stoneSvga.once(engine.Event.END_FRAME, ()=>{\n\t\t\t\t\t\t\t\tthis.stoneSvga.visible=false;\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t} else if (goods[\"npcType\"] == \"boom\") {\n\t\t\t\t\t\t\t//console.log(\"碰到炸弹\")\n\t\t\t\t\t\t\tthis.boomSvga.visible=true;\n\t\t\t\t\t\t\tthis.boomSvga.play(false, false)\n\t\t\t\t\t\t\tthis.died()\n\t\t\t\t\t\t\tthis.boomSvga.once(engine.Event.END_FRAME, ()=>{\n\t\t\t\t\t\t\t\tthis.boomSvga.visible=false;\n\t\t\t\t\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-game-over', {\n\t\t\t\t\t\t\t\t\tscore: this.score,\n\t\t\t\t\t\t\t\t\treason: 2\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}, this);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-score-update', {\n\t\t\t\t\t\t\tscore: this.score,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.removeNpc(goods)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}, this);\n\t}\n\n\t/**\n\t * 玩家死亡\n\t */\n\tprivate died() {\n\t\tthis.pause();\n\t}\n\n\t/**\n\t * 回收指定物品\n\t * @param goods 物品\n\t */\n\tprivate removeNpc(goods) {\n\t\tthis.NpcBg.removeChild(goods);\n\t\tObjectPool.recycleObject(PoolName, goods);\n\t\tgoods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\n\t\tlet index = this.goodsItems.indexOf(goods);\n\t\tif (index > -1) {\n\t\t\tthis.goodsItems.splice(index, 1);\n\t\t}\n\t}\n\n\t/**\n\t * 回收对象\n\t */\n\tprivate recycleGoods() {\n\t\tclearTimeout(this.timer)\n\t\tclearInterval(this.countdownTimer)\n\t\tfor (let goods of this.goodsItems) {\n\t\t\tif (goods) {\n\t\t\t\tthis.NpcBg.removeChild(goods);\n\t\t\t\tObjectPool.recycleObject(PoolName, goods);\n\t\t\t\tgoods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\n\t\t\t}\n\t\t}\n\t\tthis.goodsItems = []\n\t}\n\n\tprivate moveCatchX = 0\n\tprivate playerCatchX = 0\n\n\t/**\n\t * 碰撞检测\n\t * @param a a盒子\n\t * @param b b盒子\n\t */\n\tprivate hasHit(a, b) {\n\n\t\tlet playerH=a.height\n\t\tlet playerW=a.width\n\t\tlet playerX=a.x\n\t\tif(props.playerHeight){\n\t\t\tplayerH=props.playerHeight\n\t\t}\n\t\tif(props.playerWidth){\n\t\t\tplayerW=props.playerWidth\n\t\t\tplayerX=a.x+(a.width-props.playerWidth)/2\n\t\t}\n\n\t\tif (\n\t\t\tMath.abs((playerX + playerW / 2) - (b.x + b.width / 2)) < playerW / 2 + b.width / 2\n\t\t\t&&\n\t\t\t// Math.abs((a.y + a.height / 2 ) - (b.y + b.height / 2)) < a.height / 2 + b.height / 2\n\t\t\tMath.abs((a.y + playerH / 1.3 ) - (b.y + b.height / 2)) < playerH / 2 + b.height / 2\n\t\t) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate onDownStage = (e) => {\n\t\tthis.moveCatchX = e.localX;\n\t\tthis.playerCatchX = this.player.x\n\t}\n\n\tprivate onMoveStage = (e) => {\n\t\tlet maxStageBound=props.maxStageBound;\n\t\tif (this.gameIng) {\n\t\t\tlet playerX=this.playerCatchX + (e.localX - this.moveCatchX)\n\t\t\tif(playerX<maxStageBound){\n\t\t\t\tthis.player.x=maxStageBound\n\t\t\t}else if(playerX+this.player.width+maxStageBound>750){\n\t\t\t\tthis.player.x=750-maxStageBound-this.player.width\n\t\t\t}else{\n\t\t\t\tthis.player.x=playerX\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onOutStage = (e) => {\n\t\tthis.moveCatchX = 0\n\t}\n}\n","/**\n * Created by rockyl on 2020-01-09.\n */\n\nimport GameView from \"./GameView\";\nimport {injectProps} from \"../props\";\n\n\nexport class GameWrapper extends engine.Container {\n\tprivate _status;\n\tprivate _gameView: GameView;\n\n\n\n\n\n\tconstructor() {\n\t\tsuper();\n\t\tengine.globalEvent.addEventListener('food-fell-reset', this.reset, this);\n\t\tengine.globalEvent.addEventListener('food-fell-start', this.start, this);\n\t\tengine.globalEvent.addEventListener('food-fell-pause', this.pause, this);\n\t\tengine.globalEvent.addEventListener('food-fell-resume', this.resume, this);\n\t\tengine.globalEvent.addEventListener('food-fell-revive', this.revive, this);\n\t\tengine.globalEvent.addEventListener('food-fell-clear', this.clear, this);\n\n\t\tthis.addEventListener(engine.MouseEvent.CLICK, this.onTap, this);\n\n\t\tlet gameView = this._gameView = new GameView();\n\t\tthis.addChild(gameView);\n\t\t// gameView.reset()\n\t\t// gameView.start()\n\t}\n\n\treset(event: engine.Event) {\t\t\n\t\tinjectProps(event.data);\n\t\tthis._gameView.visible = true;\n\t\tthis._gameView.reset();\n\t}\n\n\tstart(event: engine.Event) {\n\t\tinjectProps(event.data);\n\t\tthis._status = 1;\n\t\tthis._gameView.start();\n\t}\n\n\tpause() {\n\t\tthis._gameView.pause();\n\t}\n\n\tresume() {\n\t\tthis._gameView.resume();\n\t}\n\n\trevive() {\n\t\tthis._gameView.revive();\n\t}\n\n\tclear() {\n\t\tthis._gameView.visible = false;\n\t}\n\n\tprivate onTap(event) {\n\t//\tthis._gameView.tap(event);\n\t}\n}\n","/**\n * Created by rockyl on 2019-11-20.\n */\n\nimport {GameWrapper} from \"./game/GameWrapper\";\nimport {injectProps, prepareProps} from \"./props\";\n\nexport default function (props) {\n\tprepareProps();\n\tinjectProps(props);\n\n\tlet instance = new GameWrapper();\n\treturn instance;\n}\n"],"names":["__extends","ObjectPool"],"mappings":"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"} {"version":3,"file":"index.js","sources":["src/custom/food-fell2/src/props.ts","src/custom/food-fell2/src/game/utils.ts","src/custom/food-fell2/src/game/Goods.ts","src/custom/food-fell2/src/game/object-pool-init.ts","src/custom/food-fell2/src/game/GameView.ts","src/custom/food-fell2/src/game/GameWrapper.ts","src/custom/food-fell2/src/index.ts"],"sourcesContent":["/**\r\n * Created by rockyl on 2020-01-21.\r\n */\r\n\r\nexport let props: any = {};\r\n\r\nexport function prepareProps() {\r\n\tlet metaProps = getProps();\r\n\r\n\tengine.injectProp(props, metaProps);\r\n}\r\n\r\nexport function injectProps(p) {\r\n\tengine.injectProp(props, p);\r\n}\r\n","/**\r\n * Created by rockyl on 2020-01-21.\r\n */\r\n\r\nexport function getTexture(uuid) {\r\n\treturn engine.Texture.from(getAssetByUUID(uuid).uuid);\r\n}\r\n\r\nexport function getTextureByName(name) {\r\n\treturn engine.Texture.from(getAssetByName(name).uuid);\r\n}\r\n\r\nexport function playSound(name) {\r\n\tengine.playSound(getAssetByName(name).uuid, {keep: true});\r\n}\r\nexport function createSvga(name, anchorName?) {\r\n\tlet inst = new svga.Svga();\r\n\tinst.source = 'asset://' + getAssetByName(name).uuid;\r\n\treturn inst;\r\n}","/**\r\n * Created by rockyl on 2020-02-02.\r\n *\r\n * 掉落物品\r\n */\r\nimport {getTextureByName} from \"./utils\";\r\nimport {props} from \"../props\";\r\n\r\nexport class Goods extends engine.Container {\r\n\tprivate _body:engine.Rect\r\n\tprivate _toY;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tlet body\r\n\t\tbody = this._body =new engine.Rect()\r\n\t\t\r\n\t\t// let randomNum = Math.floor(Math.random() * 3)\t\t\r\n\t\t// console.log('雨滴' + randomNum);\r\n\t\t\r\n\t\tlet rain = new engine.Sprite(getTextureByName('雨滴0'));\r\n\t\tlet rain1 = new engine.Sprite(getTextureByName('雨滴1'));\r\n\t\tlet rain2 = new engine.Sprite(getTextureByName('雨滴2'));\r\n\t\train[\"npcType\"]=\"rain0\"\r\n\t\train1[\"npcType\"]=\"rain1\"\r\n\t\train2[\"npcType\"]=\"rain2\"\r\n\t\tlet stone = new engine.Sprite(getTextureByName('石块'));\r\n\t\tstone[\"npcType\"]=\"stone\"\r\n\t\tlet boom = new engine.Sprite(getTextureByName('炸弹'));\r\n\t\tboom[\"npcType\"]=\"boom\"\r\n\r\n\t\train.visible=false;\r\n\t\train1.visible=false;\r\n\t\train2.visible=false;\r\n\t\tstone.visible=false;\r\n\t\tboom.visible=false;\r\n\t\tbody.addChild(rain)\r\n\t\tbody.addChild(rain1)\r\n\t\tbody.addChild(rain2)\r\n\t\tbody.addChild(stone)\r\n\t\tbody.addChild(boom)\r\n\t\t\r\n\t\tthis.addChild(body);\r\n\t\tbody.width=.0001;\r\n\t\tbody.height=.0001;\r\n\t\tbody.mouseEnabled=false;\r\n\t}\r\n\r\n\r\n\tgetRandomNumberByRange(start, end) {\r\n\t\treturn Math.floor(Math.random() * (end - start) + start)\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.visible = true;\r\n\t\tthis.rotation = 0;\r\n\t\tthis.anchorOffsetY = 0;\r\n\t\tthis.y = 0;\r\n\t\tthis.x = (750-120)*Math.random()+30;\r\n\t\tthis.rotation = 0;\r\n\t\tlet random=Math.random()\r\n\t\tif(typeof (props.goodsProbability) == 'string'){\r\n\t\t\tprops.goodsProbability=props.goodsProbability.split(',').map((i: string) => +i)\r\n\t\t\t//console.log(props.goodsProbability);\r\n\t\t\t\r\n\t\t}\r\n\t\tif(random<props.goodsProbability[0]){\r\n\t\t\tlet randomNum = Math.floor(Math.random() * 3)\t\t\r\n\t\t\tthis.showNpc(\"rain\" + randomNum)\r\n\t\t}else if(random>=props.goodsProbability[0]&&random<=(props.goodsProbability[0]+props.goodsProbability[1])){\r\n\t\t\tthis.showNpc(\"stone\")\r\n\t\t}else if(random>(props.goodsProbability[0]+props.goodsProbability[1])){\r\n\t\t\tthis.showNpc(\"boom\")\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tshowNpc(type){\r\n\t\tfor(let i=0;i<this._body.children.length;i++){\r\n\t\t\tthis._body.children[i].visible=false;\r\n\t\t\tthis._body.children[i].mouseEnabled=false;\r\n\t\t}\t\t\r\n\t\tfor(let i=0;i<this._body.children.length;i++){\r\n\t\t\tif(this._body.children[i][\"npcType\"]==type){\r\n\t\t\t\tthis[\"npcType\"]=type\r\n\t\t\t\tthis._body.children[i].visible=true;\r\n\t\t\t\tthis._body.children[i].mouseEnabled=false;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n\r\n\tset anchorOffsetY(v) {\r\n\t\tthis._body.y = v;\r\n\t}\r\n}\r\n","/**\r\n * Created by rockyl on 2020-02-03.\r\n */\r\n\r\nimport {Goods} from \"./Goods\";\r\nimport ObjectPool = engine.ObjectPool;\r\n\r\nexport const PoolName: string = 'goods';\r\n\r\nObjectPool.registerPool(PoolName, function () {\r\n\treturn new Goods();\r\n}, function (item: Goods, data) {\r\n\titem.reset();\r\n});\r\n","/**\r\n * Created by rockyl on 2018/8/16.\r\n */\r\n\r\nimport { props } from \"../props\";\r\nimport { playSound, createSvga } from \"./utils\";\r\nimport ObjectPool = engine.ObjectPool;\r\nimport { getTextureByName } from \"./utils\";\r\nimport { Goods } from \"./Goods\";\r\nimport { PoolName } from \"./object-pool-init\";\r\n\r\n\r\n\r\nexport default class GameView extends engine.Container {\r\n\r\n\tprivate _hasSetup;\r\n\r\n\t//玩家\r\n\tprivate player: engine.Container;\r\n\t//触摸层\r\n\t// private rectBg: engine.Rect;\r\n\tprivate rectBg: engine.Container;\r\n\t//npc层\r\n\tprivate NpcBg: engine.Container;\r\n\r\n\t//当前分数\r\n\tprivate score\r\n\r\n\t//游戏状态\r\n\tprivate gameIng;\r\n\r\n\t//npc出身计时器\r\n\tprivate timer\r\n\t//倒计时计时器\r\n\tprivate countdownTimer: any\r\n\t//倒计时\r\n\tprivate countdown: number\r\n\r\n\t//当前速度\r\n\tprivate speed: number\r\n\r\n\t// 当前场景上面的物品\r\n\tprivate goodsItems = []\r\n\r\n\tprivate viewVisible=true;\r\n\r\n\r\n\tprivate _goods: Goods;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.once(engine.Event.ADDED_TO_STAGE, this.setup, this);\r\n\t}\r\n\r\n\tprivate waterSvga\r\n\tprivate stoneSvga\r\n\tprivate boomSvga\r\n\tprivate playerSvga\r\n\r\n\tsetup() {\r\n\t\tif (this._hasSetup) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis._hasSetup = true;\r\n\t\tthis.NpcBg = new engine.Container();\r\n\t\tthis.NpcBg.alpha = 1;\r\n\t\tthis.NpcBg.width = 0;\r\n\t\tthis.NpcBg.height = 0;\r\n\t\tthis.addChild(this.NpcBg);\r\n\r\n\t\r\n\r\n\t\tthis.player = new engine.Container();\r\n\t\tthis.player.mouseEnabled = false;\r\n\t//\tthis.player.fillColor=\"rgba(0, 0, 0,1)\"\r\n\t\t//console.log(this.player.fillColor)\r\n\t\r\n\t\tthis.addChild(this.player);\r\n\r\n\t\tthis.waterSvga=createSvga(\"水花\")\r\n\t\tthis.stoneSvga=createSvga(\"石头svga\")\r\n\t\t// this.playerSvga=createSvga(\"玩家\")\r\n\t\tthis.playerSvga= new engine.Sprite(getTextureByName('玩家'))\r\n\t\tthis.boomSvga=createSvga(\"炸弹svga\")\r\n\t\tthis.player.addChild(this.playerSvga);\r\n\t\tthis.player.addChild(this.stoneSvga);\r\n\t\tthis.player.addChild(this.waterSvga);\r\n\t\tthis.player.addChild(this.boomSvga);\r\n\t\t// this.playerSvga.gotoAndPlay(1);\r\n\r\n\t\t\r\n\r\n\t\tthis.waterSvga.visible = false\r\n\t\tthis.stoneSvga.visible = false\r\n\t\tthis.boomSvga.visible = false\r\n\t\t\r\n\t\tthis.visible=false;\r\n\t\tsetTimeout(()=>{\r\n\t\t\tthis.visible=true;\r\n\t\t\tthis.player.anchorY = this.player.height / 2;\r\n\t\t\tthis.player.anchorX = this.player.width / 2;\r\n\t\t\tthis.player.x = 375 - this.player.width / 2;\r\n\t\t\tthis.player.y = props.playerPositionY;\r\n\r\n\t\t\tthis.stoneSvga.x = this.player.width / 2 - \tthis.stoneSvga.width/2 + props.boomPosition1Offset[0];\r\n\t\t\tthis.stoneSvga.y = this.player.height / 2 - this.stoneSvga.height/2 + props.boomPosition1Offset[1];\r\n\r\n\t\t\tthis.waterSvga.x = this.player.width / 2 - \tthis.waterSvga.width/2+ props.boomPosition2Offset[0];\r\n\t\t\tthis.waterSvga.y = this.player.height / 2 - this.waterSvga.height/2 + props.boomPosition2Offset[1];\r\n\r\n\t\t\tthis.boomSvga.x = this.player.width / 2 - \tthis.boomSvga.width/2+ props.boomPosition3Offset[0];\r\n\t\t\tthis.boomSvga.y = this.player.height / 2 - this.boomSvga.height/2 + props.boomPosition3Offset[1];\r\n\r\n\t\t\t// this.stoneSvga.x=props.boomPositionOffset[0]\r\n\t\t\t// this.stoneSvga.y=props.boomPositionOffset[1]\r\n\r\n\t\t\t// this.waterSvga.x=props.boomPositionOffset[0]\r\n\t\t\t// this.waterSvga.y=props.boomPositionOffset[1]\r\n\r\n\t\t\t// this.boomSvga.x=props.boomPositionOffset[0]\r\n\t\t\t// this.boomSvga.y=props.boomPositionOffset[1]\r\n\r\n\t\t\t\r\n\t\t},300)\r\n\r\n\t\t\r\n\t\tthis.rectBg = new engine.Container();\r\n\t\tthis.rectBg.alpha = 0;\r\n\t\tthis.rectBg.width = 750;\r\n\t\tthis.rectBg.height = 1624;\r\n\t\tthis.addChild(this.rectBg)\r\n\r\n\t\tthis.rectBg.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDownStage, this);\r\n\t\tthis.rectBg.addEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMoveStage, this);\r\n\t\tthis.rectBg.addEventListener(engine.MouseEvent.MOUSE_OUT, this.onOutStage, this);\r\n\r\n\r\n\t\tdocument.addEventListener(\"visibilitychange\",()=>{\r\n\t\t\tif(document.visibilityState==\"visible\"){\r\n\t\t\t\tthis.viewVisible=true;\r\n\t\t\t}\r\n\t\t\tif(document.visibilityState==\"hidden\"){\r\n\t\t\t\tthis.viewVisible=false;\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\tthis.addEventListener(engine.Event.ENTER_FRAME, this.enterFrame,this)\r\n\t\r\n\t}\r\n\r\n\tenterFrame(){\r\n\t\tthis.updateTime()\r\n\t\tthis.updateTimeBeginNpc()\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * 重置场景\r\n\t */\r\n\treset() {\r\n\t\tthis.score = props.speed\r\n\t\tthis.recycleGoods()\r\n\t\tthis.player.x = 375 - this.player.width / 2;\r\n\t}\r\n\r\n\t/**\r\n\t * 开始\r\n\t */\r\n\tstart() {\r\n\t\tthis.score = 0;\r\n\t\tthis.speed = 1\r\n\t\tthis.gameIng = true;\r\n\t\t//this.creatNpc()\r\n\t\tthis.beginNpc()\r\n\t\tthis.countdown = props.countDown;\r\n\t}\r\n\r\n\tcacheTime=0\r\n\tupdateTime(){\r\n\t\tif(Date.now()-this.cacheTime>1000){\r\n\t\t\tthis.cacheTime=Date.now()\r\n\t\t}else{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.gameIng) {\r\n\t\t\tif (this.countdown > 0) {\r\n\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-time-update', {\r\n\t\t\t\t\ttime: this.countdown,\r\n\t\t\t\t});\r\n\t\t\t\tthis.countdown -= 1\r\n\t\t\t} else {\r\n\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-game-over', {\r\n\t\t\t\t\tscore: this.score,\r\n\t\t\t\t\treason: 1\r\n\t\t\t\t});\r\n\t\t\t\tthis.died()\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * npc开始掉落\r\n\t */\r\n\tbeginNpc() {\r\n\t\t// this.timer = setTimeout(() => {\r\n\t\t\t\r\n\t\t// \t//递归执行\r\n\t\t// \tthis.beginNpc()\r\n\t\t// }, 2000 / this.speed)\r\n\t}\r\n\r\n\tcacheTime2=0\r\n\tupdateTimeBeginNpc(){\r\n\t\tif(Date.now()-this.cacheTime2>(2000 / this.speed)){\r\n\t\t\tthis.cacheTime2=Date.now()\r\n\t\t}else{\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.gameIng) {\r\n\t\t\tthis.speed += props.acceleratedSpeed;\r\n\t\t\tif(this.speed >= props.maxSpeed){\r\n\t\t\t\tthis.speed = props.maxSpeed\r\n\t\t\t}\r\n\t\t\tthis.creatNpc()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 暂停\r\n\t */\r\n\tpause() {\r\n\t\tthis.gameIng = false;\r\n\t}\r\n\r\n\t/**\r\n\t * 恢复\r\n\t */\r\n\trevive() {\r\n\t\tthis.gameIng = true;\r\n\t}\r\n\r\n\t/**\r\n\t * 重新开始\r\n\t */\r\n\tresume() {\r\n\t\tthis.reset()\r\n\t\tthis.start()\r\n\t}\r\n\r\n\t/**\r\n\t * 创建NPC\r\n\t */\r\n\tprivate creatNpc() {\r\n\t\tlet goods = this._goods = <Goods>ObjectPool.getObject(PoolName);\r\n\t\tthis.goodsItems.push(goods)\r\n\t\t//console.log(goods);\r\n\t\t\r\n\t\tthis.NpcBg.addChild(goods);\r\n\t\tgoods.addEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"] = () => {\r\n\t\t\tif (goods.y > 1624) {\r\n\t\t\t\tthis.removeNpc(goods)\r\n\t\t\t} else {\r\n\t\t\t\tif (this.gameIng) {\r\n\t\t\t\t\t//速度叠加\r\n\t\t\t\t\tgoods.y += (4 * this.speed)\r\n\t\t\t\t\t//如果玩家和物品发生碰撞\r\n\t\t\t\t\tif (this.hasHit(this.player, goods)) {\r\n\t\t\t\t\t\tif (goods[\"npcType\"].indexOf(\"rain\") > -1) {\r\n\t\t\t\t\t\t\t//console.log(\"碰到雨滴\")\r\n\t\t\t\t\t\t\tthis.score += props.rainScore;\r\n\t\t\t\t\t\t\tthis.waterSvga.visible=true;\r\n\t\t\t\t\t\t//\tthis.waterSvga.x= goods.x - this.player.x;\r\n\t\t\t\t\t\t\tthis.waterSvga.play(false, false)\r\n\t\t\t\t\t\t\tthis.waterSvga.once(engine.Event.END_FRAME, ()=>{\r\n\t\t\t\t\t\t\t\tthis.waterSvga.visible=false;\r\n\t\t\t\t\t\t\t}, this);\r\n\r\n\t\t\t\t\t\t\tif(this.score<0){\r\n\t\t\t\t\t\t\t\tthis.score=0;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t} else if (goods[\"npcType\"] == \"stone\") {\r\n\t\t\t\t\t\t\t//console.log(\"碰到石头\")\r\n\t\t\t\t\t\t\tthis.score += props.stoneScore\r\n\t\t\t\t\t\t\tif(this.score<0){\r\n\t\t\t\t\t\t\t\tthis.score=0;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.stoneSvga.visible=true;\r\n\t\t\t\t\t\t\tthis.stoneSvga.play(false, false)\r\n\t\t\t\t\t\t\tthis.stoneSvga.once(engine.Event.END_FRAME, ()=>{\r\n\t\t\t\t\t\t\t\tthis.stoneSvga.visible=false;\r\n\t\t\t\t\t\t\t}, this);\r\n\t\t\t\t\t\t} else if (goods[\"npcType\"] == \"boom\") {\r\n\t\t\t\t\t\t\t//console.log(\"碰到炸弹\")\r\n\t\t\t\t\t\t\tthis.boomSvga.visible=true;\r\n\t\t\t\t\t\t\tthis.boomSvga.play(false, false)\r\n\t\t\t\t\t\t\tthis.died()\r\n\t\t\t\t\t\t\tthis.boomSvga.once(engine.Event.END_FRAME, ()=>{\r\n\t\t\t\t\t\t\t\tthis.boomSvga.visible=false;\r\n\t\t\t\t\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-game-over', {\r\n\t\t\t\t\t\t\t\t\tscore: this.score,\r\n\t\t\t\t\t\t\t\t\treason: 2\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}, this);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tengine.globalEvent.dispatchEvent('food-fell-score-update', {\r\n\t\t\t\t\t\t\tscore: this.score,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.removeNpc(goods)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}, this);\r\n\t}\r\n\r\n\t/**\r\n\t * 玩家死亡\r\n\t */\r\n\tprivate died() {\r\n\t\tthis.pause();\r\n\t}\r\n\r\n\t/**\r\n\t * 回收指定物品\r\n\t * @param goods 物品\r\n\t */\r\n\tprivate removeNpc(goods) {\r\n\t\tthis.NpcBg.removeChild(goods);\r\n\t\tObjectPool.recycleObject(PoolName, goods);\r\n\t\tgoods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\r\n\t\tlet index = this.goodsItems.indexOf(goods);\r\n\t\tif (index > -1) {\r\n\t\t\tthis.goodsItems.splice(index, 1);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 回收对象\r\n\t */\r\n\tprivate recycleGoods() {\r\n\t\tclearTimeout(this.timer)\r\n\t\tclearInterval(this.countdownTimer)\r\n\t\tfor (let goods of this.goodsItems) {\r\n\t\t\tif (goods) {\r\n\t\t\t\tthis.NpcBg.removeChild(goods);\r\n\t\t\t\tObjectPool.recycleObject(PoolName, goods);\r\n\t\t\t\tgoods.removeEventListener(engine.Event.ENTER_FRAME, goods[\"onGoodsEnter\"], this);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.goodsItems = []\r\n\t}\r\n\r\n\tprivate moveCatchX = 0\r\n\tprivate playerCatchX = 0\r\n\r\n\t/**\r\n\t * 碰撞检测\r\n\t * @param a a盒子\r\n\t * @param b b盒子\r\n\t */\r\n\tprivate hasHit(a, b) {\r\n\r\n\t\tlet playerH=a.height\r\n\t\tlet playerW=a.width\r\n\t\tlet playerX=a.x\r\n\t\tif(props.playerHeight){\r\n\t\t\tplayerH=props.playerHeight\r\n\t\t}\r\n\t\tif(props.playerWidth){\r\n\t\t\tplayerW=props.playerWidth\r\n\t\t\tplayerX=a.x+(a.width-props.playerWidth)/2\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tMath.abs((playerX + playerW / 2) - (b.x + b.width / 2)) < playerW / 2 + b.width / 2\r\n\t\t\t&&\r\n\t\t\t// Math.abs((a.y + a.height / 2 ) - (b.y + b.height / 2)) < a.height / 2 + b.height / 2\r\n\t\t\tMath.abs((a.y + playerH / 1.3 ) - (b.y + b.height / 2)) < playerH / 2 + b.height / 2\r\n\t\t) {\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onDownStage = (e) => {\r\n\t\tthis.moveCatchX = e.localX;\r\n\t\tthis.playerCatchX = this.player.x\r\n\t}\r\n\r\n\tprivate onMoveStage = (e) => {\r\n\t\tlet maxStageBound=props.maxStageBound;\r\n\t\tif (this.gameIng) {\r\n\t\t\tlet playerX=this.playerCatchX + (e.localX - this.moveCatchX)\r\n\t\t\tif(playerX<maxStageBound){\r\n\t\t\t\tthis.player.x=maxStageBound\r\n\t\t\t}else if(playerX+this.player.width+maxStageBound>750){\r\n\t\t\t\tthis.player.x=750-maxStageBound-this.player.width\r\n\t\t\t}else{\r\n\t\t\t\tthis.player.x=playerX\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate onOutStage = (e) => {\r\n\t\tthis.moveCatchX = 0\r\n\t}\r\n}\r\n","/**\r\n * Created by rockyl on 2020-01-09.\r\n */\r\n\r\nimport GameView from \"./GameView\";\r\nimport {injectProps} from \"../props\";\r\n\r\n\r\nexport class GameWrapper extends engine.Container {\r\n\tprivate _status;\r\n\tprivate _gameView: GameView;\r\n\r\n\r\n\r\n\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tengine.globalEvent.addEventListener('food-fell-reset', this.reset, this);\r\n\t\tengine.globalEvent.addEventListener('food-fell-start', this.start, this);\r\n\t\tengine.globalEvent.addEventListener('food-fell-pause', this.pause, this);\r\n\t\tengine.globalEvent.addEventListener('food-fell-resume', this.resume, this);\r\n\t\tengine.globalEvent.addEventListener('food-fell-revive', this.revive, this);\r\n\t\tengine.globalEvent.addEventListener('food-fell-clear', this.clear, this);\r\n\r\n\t\tthis.addEventListener(engine.MouseEvent.CLICK, this.onTap, this);\r\n\r\n\t\tlet gameView = this._gameView = new GameView();\r\n\t\tthis.addChild(gameView);\r\n\t\t// gameView.reset()\r\n\t\t// gameView.start()\r\n\t}\r\n\r\n\treset(event: engine.Event) {\t\t\r\n\t\tinjectProps(event.data);\r\n\t\tthis._gameView.visible = true;\r\n\t\tthis._gameView.reset();\r\n\t}\r\n\r\n\tstart(event: engine.Event) {\r\n\t\tinjectProps(event.data);\r\n\t\tthis._status = 1;\r\n\t\tthis._gameView.start();\r\n\t}\r\n\r\n\tpause() {\r\n\t\tthis._gameView.pause();\r\n\t}\r\n\r\n\tresume() {\r\n\t\tthis._gameView.resume();\r\n\t}\r\n\r\n\trevive() {\r\n\t\tthis._gameView.revive();\r\n\t}\r\n\r\n\tclear() {\r\n\t\tthis._gameView.visible = false;\r\n\t}\r\n\r\n\tprivate onTap(event) {\r\n\t//\tthis._gameView.tap(event);\r\n\t}\r\n}\r\n","/**\r\n * Created by rockyl on 2019-11-20.\r\n */\r\n\r\nimport {GameWrapper} from \"./game/GameWrapper\";\r\nimport {injectProps, prepareProps} from \"./props\";\r\n\r\nexport default function (props) {\r\n\tprepareProps();\r\n\tinjectProps(props);\r\n\r\n\tlet instance = new GameWrapper();\r\n\treturn instance;\r\n}\r\n"],"names":["__extends","ObjectPool"],"mappings":";;;;;;CAIO,IAAI,KAAK,GAAQ,EAAE,CAAC;AAE3B,UAAgB,YAAY;KAC3B,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;KAE3B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;CACrC,CAAC;AAED,UAAgB,WAAW,CAAC,CAAC;KAC5B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC7B,CAAC;;UCNe,gBAAgB,CAAC,IAAI;KACpC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;CACvD,CAAC;AAED,UAGgB,UAAU,CAAC,IAAI,EAAE,UAAW;KAC3C,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;KAC3B,IAAI,CAAC,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;KACrD,OAAO,IAAI,CAAC;CACb,CAAC;;CCXD;KAA2BA,+BAAgB;KAI1C;SAAA,YACC,iBAAO,SAkCP;SAhCA,IAAI,IAAI,CAAA;SACR,IAAI,GAAG,KAAI,CAAC,KAAK,GAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAA;SAKpC,IAAI,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;SACtD,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD,IAAI,CAAC,SAAS,CAAC,GAAC,OAAO,CAAA;SACvB,KAAK,CAAC,SAAS,CAAC,GAAC,OAAO,CAAA;SACxB,KAAK,CAAC,SAAS,CAAC,GAAC,OAAO,CAAA;SACxB,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;SACtD,KAAK,CAAC,SAAS,CAAC,GAAC,OAAO,CAAA;SACxB,IAAI,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;SACrD,IAAI,CAAC,SAAS,CAAC,GAAC,MAAM,CAAA;SAEtB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;SACnB,KAAK,CAAC,OAAO,GAAC,KAAK,CAAC;SACpB,KAAK,CAAC,OAAO,GAAC,KAAK,CAAC;SACpB,KAAK,CAAC,OAAO,GAAC,KAAK,CAAC;SACpB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;SACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SAEnB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACpB,IAAI,CAAC,KAAK,GAAC,KAAK,CAAC;SACjB,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;SAClB,IAAI,CAAC,YAAY,GAAC,KAAK,CAAC;;MACxB;KAGD,sCAAsB,GAAtB,UAAuB,KAAK,EAAE,GAAG;SAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAA;MACxD;KAED,qBAAK,GAAL;SACC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACvB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACX,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,GAAC,GAAG,IAAE,IAAI,CAAC,MAAM,EAAE,GAAC,EAAE,CAAC;SACpC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClB,IAAI,MAAM,GAAC,IAAI,CAAC,MAAM,EAAE,CAAA;SACxB,IAAG,QAAQ,KAAK,CAAC,gBAAgB,CAAC,IAAI,QAAQ,EAAC;aAC9C,KAAK,CAAC,gBAAgB,GAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,GAAA,CAAC,CAAA;UAG/E;SACD,IAAG,MAAM,GAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAC;aACnC,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;aAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;UAChC;cAAK,IAAG,MAAM,IAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAE,MAAM,KAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAC;aACzG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;UACrB;cAAK,IAAG,MAAM,IAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAC;aACrE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;UACpB;MACD;KAGD,uBAAO,GAAP,UAAQ,IAAI;SACX,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;aAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAC,KAAK,CAAC;aACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,GAAC,KAAK,CAAC;UAC1C;SACD,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;aAC5C,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,IAAI,EAAC;iBAC1C,IAAI,CAAC,SAAS,CAAC,GAAC,IAAI,CAAA;iBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GAAC,IAAI,CAAC;iBACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,GAAC,KAAK,CAAC;cAC1C;UACD;MAED;KAED,sBAAI,gCAAa;cAAjB,UAAkB,CAAC;aAClB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;UACjB;;;QAAA;KACF,YAAC;CAAD,CAAC,CAxF0B,MAAM,CAAC,SAAS,GAwF1C;;CC3FD,IAAO,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEtC,CAAO,IAAM,QAAQ,GAAW,OAAO,CAAC;CAExC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE;KACjC,OAAO,IAAI,KAAK,EAAE,CAAC;CACpB,CAAC,EAAE,UAAU,IAAW,EAAE,IAAI;KAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;CACd,CAAC,CAAC,CAAC;;CCPH,IAAOC,YAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACtC,CAMA;KAAsCD,kCAAgB;KAoCrD;SAAA,YACC,iBAAO,SAEP;SAVO,gBAAU,GAAG,EAAE,CAAA;SAEf,iBAAW,GAAC,IAAI,CAAC;SAqIzB,eAAS,GAAC,CAAC,CAAA;SAkCX,gBAAU,GAAC,CAAC,CAAA;SA8IJ,gBAAU,GAAG,CAAC,CAAA;SACd,kBAAY,GAAG,CAAC,CAAA;SAgChB,iBAAW,GAAG,UAAC,CAAC;aACvB,KAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;aAC3B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAA;UACjC,CAAA;SAEO,iBAAW,GAAG,UAAC,CAAC;aACvB,IAAI,aAAa,GAAC,KAAK,CAAC,aAAa,CAAC;aACtC,IAAI,KAAI,CAAC,OAAO,EAAE;iBACjB,IAAI,OAAO,GAAC,KAAI,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,CAAA;iBAC5D,IAAG,OAAO,GAAC,aAAa,EAAC;qBACxB,KAAI,CAAC,MAAM,CAAC,CAAC,GAAC,aAAa,CAAA;kBAC3B;sBAAK,IAAG,OAAO,GAAC,KAAI,CAAC,MAAM,CAAC,KAAK,GAAC,aAAa,GAAC,GAAG,EAAC;qBACpD,KAAI,CAAC,MAAM,CAAC,CAAC,GAAC,GAAG,GAAC,aAAa,GAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAA;kBACjD;sBAAI;qBACJ,KAAI,CAAC,MAAM,CAAC,CAAC,GAAC,OAAO,CAAA;kBACrB;cACD;UACD,CAAA;SAEO,gBAAU,GAAG,UAAC,CAAC;aACtB,KAAI,CAAC,UAAU,GAAG,CAAC,CAAA;UACnB,CAAA;SApWA,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;;MACzD;KAOD,wBAAK,GAAL;SAAA,iBAyFC;SAxFA,IAAI,IAAI,CAAC,SAAS,EAAE;aACnB,OAAO;UACP;SACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACtB,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;SACpC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SACrB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SACrB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAI1B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;SACrC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;SAIjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAE3B,IAAI,CAAC,SAAS,GAAC,UAAU,CAAC,IAAI,CAAC,CAAA;SAC/B,IAAI,CAAC,SAAS,GAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;SAEnC,IAAI,CAAC,UAAU,GAAE,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;SAC1D,IAAI,CAAC,QAAQ,GAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;SAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAKpC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;SAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;SAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAA;SAE7B,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;SACnB,UAAU,CAAC;aACV,KAAI,CAAC,OAAO,GAAC,IAAI,CAAC;aAClB,KAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aAC7C,KAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;aAC5C,KAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;aAC5C,KAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;aAEtC,KAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAI,KAAI,CAAC,SAAS,CAAC,KAAK,GAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAClG,KAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,GAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAEnG,KAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAI,KAAI,CAAC,SAAS,CAAC,KAAK,GAAC,CAAC,GAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aACjG,KAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,GAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAEnG,KAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAI,KAAI,CAAC,QAAQ,CAAC,KAAK,GAAC,CAAC,GAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAC/F,KAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;UAYjG,EAAC,GAAG,CAAC,CAAA;SAGN,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;SACrC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;SACtB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;SACxB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAE1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACnF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACnF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAGjF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAC;aAC5C,IAAG,QAAQ,CAAC,eAAe,IAAE,SAAS,EAAC;iBACtC,KAAI,CAAC,WAAW,GAAC,IAAI,CAAC;cACtB;aACD,IAAG,QAAQ,CAAC,eAAe,IAAE,QAAQ,EAAC;iBACrC,KAAI,CAAC,WAAW,GAAC,KAAK,CAAC;cACvB;UACD,CAAC,CAAA;SAEF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAC,IAAI,CAAC,CAAA;MAErE;KAED,6BAAU,GAAV;SACC,IAAI,CAAC,UAAU,EAAE,CAAA;SACjB,IAAI,CAAC,kBAAkB,EAAE,CAAA;MACzB;KAMD,wBAAK,GAAL;SACC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;SACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACnB,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;MAC5C;KAKD,wBAAK,GAAL;SACC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;SACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SAEpB,IAAI,CAAC,QAAQ,EAAE,CAAA;SACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;MACjC;KAGD,6BAAU,GAAV;SACC,IAAG,IAAI,CAAC,GAAG,EAAE,GAAC,IAAI,CAAC,SAAS,GAAC,IAAI,EAAC;aACjC,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,GAAG,EAAE,CAAA;UACzB;cAAI;aACJ,OAAO;UACP;SACD,IAAI,IAAI,CAAC,OAAO,EAAE;aACjB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;iBACvB,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,EAAE;qBACzD,IAAI,EAAE,IAAI,CAAC,SAAS;kBACpB,CAAC,CAAC;iBACH,IAAI,CAAC,SAAS,IAAI,CAAC,CAAA;cACnB;kBAAM;iBACN,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;qBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB,MAAM,EAAE,CAAC;kBACT,CAAC,CAAC;iBACH,IAAI,CAAC,IAAI,EAAE,CAAA;cACX;UACD;MACD;KAKD,2BAAQ,GAAR;MAMC;KAGD,qCAAkB,GAAlB;SACC,IAAG,IAAI,CAAC,GAAG,EAAE,GAAC,IAAI,CAAC,UAAU,IAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAC;aACjD,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,GAAG,EAAE,CAAA;UAC1B;cAAI;aACJ,OAAO;UACP;SACD,IAAI,IAAI,CAAC,OAAO,EAAE;aACjB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,gBAAgB,CAAC;aACrC,IAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAC;iBAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAA;cAC3B;aACD,IAAI,CAAC,QAAQ,EAAE,CAAA;UACf;MACD;KAKD,wBAAK,GAAL;SACC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;MACrB;KAKD,yBAAM,GAAN;SACC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;MACpB;KAKD,yBAAM,GAAN;SACC,IAAI,CAAC,KAAK,EAAE,CAAA;SACZ,IAAI,CAAC,KAAK,EAAE,CAAA;MACZ;KAKO,2BAAQ,GAAhB;SAAA,iBA8DC;SA7DA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAUC,YAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAG3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC3B,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG;aACxE,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE;iBACnB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;cACrB;kBAAM;iBACN,IAAI,KAAI,CAAC,OAAO,EAAE;qBAEjB,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,KAAK,CAAC,CAAA;qBAE3B,IAAI,KAAI,CAAC,MAAM,CAAC,KAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;yBACpC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;6BAE1C,KAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC;6BAC9B,KAAI,CAAC,SAAS,CAAC,OAAO,GAAC,IAAI,CAAC;6BAE5B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;6BACjC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;iCAC3C,KAAI,CAAC,SAAS,CAAC,OAAO,GAAC,KAAK,CAAC;8BAC7B,EAAE,KAAI,CAAC,CAAC;6BAET,IAAG,KAAI,CAAC,KAAK,GAAC,CAAC,EAAC;iCACf,KAAI,CAAC,KAAK,GAAC,CAAC,CAAC;8BACb;0BAED;8BAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,OAAO,EAAE;6BAEvC,KAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAA;6BAC9B,IAAG,KAAI,CAAC,KAAK,GAAC,CAAC,EAAC;iCACf,KAAI,CAAC,KAAK,GAAC,CAAC,CAAC;8BACb;6BACD,KAAI,CAAC,SAAS,CAAC,OAAO,GAAC,IAAI,CAAC;6BAC5B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;6BACjC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;iCAC3C,KAAI,CAAC,SAAS,CAAC,OAAO,GAAC,KAAK,CAAC;8BAC7B,EAAE,KAAI,CAAC,CAAC;0BACT;8BAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,MAAM,EAAE;6BAEtC,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAC,IAAI,CAAC;6BAC3B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;6BAChC,KAAI,CAAC,IAAI,EAAE,CAAA;6BACX,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;iCAC1C,KAAI,CAAC,QAAQ,CAAC,OAAO,GAAC,KAAK,CAAC;iCAC5B,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;qCACvD,KAAK,EAAE,KAAI,CAAC,KAAK;qCACjB,MAAM,EAAE,CAAC;kCACT,CAAC,CAAC;8BACH,EAAE,KAAI,CAAC,CAAC;0BACT;yBACD,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,wBAAwB,EAAE;6BAC1D,KAAK,EAAE,KAAI,CAAC,KAAK;0BACjB,CAAC,CAAC;yBACH,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;sBACrB;kBACD;cACD;UAED,EAAE,IAAI,CAAC,CAAC;MACT;KAKO,uBAAI,GAAZ;SACC,IAAI,CAAC,KAAK,EAAE,CAAC;MACb;KAMO,4BAAS,GAAjB,UAAkB,KAAK;SACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC9BA,YAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC1C,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;SACjF,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC3C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;aACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;UACjC;MACD;KAKO,+BAAY,GAApB;SACC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SAClC,KAAkB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;aAA9B,IAAI,KAAK,SAAA;aACb,IAAI,KAAK,EAAE;iBACV,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;iBAC9BA,YAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC1C,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;cACjF;UACD;SACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;MACpB;KAUO,yBAAM,GAAd,UAAe,CAAC,EAAE,CAAC;SAElB,IAAI,OAAO,GAAC,CAAC,CAAC,MAAM,CAAA;SACpB,IAAI,OAAO,GAAC,CAAC,CAAC,KAAK,CAAA;SACnB,IAAI,OAAO,GAAC,CAAC,CAAC,CAAC,CAAA;SACf,IAAG,KAAK,CAAC,YAAY,EAAC;aACrB,OAAO,GAAC,KAAK,CAAC,YAAY,CAAA;UAC1B;SACD,IAAG,KAAK,CAAC,WAAW,EAAC;aACpB,OAAO,GAAC,KAAK,CAAC,WAAW,CAAA;aACzB,OAAO,GAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,KAAK,GAAC,KAAK,CAAC,WAAW,IAAE,CAAC,CAAA;UACzC;SAED,IACC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;;iBAGnF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,KAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EACnF;aACD,OAAO,IAAI,CAAC;UACZ;cAAM;aACN,OAAO,KAAK,CAAC;UACb;MACD;KAwBF,eAAC;CAAD,CAAC,CA3YqC,MAAM,CAAC,SAAS,GA2YrD;;CChZD;KAAiCD,qCAAgB;KAQhD;SAAA,YACC,iBAAO,SAcP;SAbA,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;SACzE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;SACzE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;SACzE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,CAAC;SAC3E,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,CAAC;SAC3E,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;SAEzE,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,CAAC;SAEjE,IAAI,QAAQ,GAAG,KAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;SAC/C,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;;MAGxB;KAED,2BAAK,GAAL,UAAM,KAAmB;SACxB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACxB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;SAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;MACvB;KAED,2BAAK,GAAL,UAAM,KAAmB;SACxB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;SACjB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;MACvB;KAED,2BAAK,GAAL;SACC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;MACvB;KAED,4BAAM,GAAN;SACC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;MACxB;KAED,4BAAM,GAAN;SACC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;MACxB;KAED,2BAAK,GAAL;SACC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;MAC/B;KAEO,2BAAK,GAAb,UAAc,KAAK;MAElB;KACF,kBAAC;CAAD,CAAC,CAxDgC,MAAM,CAAC,SAAS,GAwDhD;;iBCzDwB,KAAK;KAC7B,YAAY,EAAE,CAAC;KACf,WAAW,CAAC,KAAK,CAAC,CAAC;KAEnB,IAAI,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;KACjC,OAAO,QAAQ,CAAC;CACjB,CAAC;;;;;;;;"}
\ No newline at end of file \ No newline at end of file
/**
* Created by rockyl on 2019-12-16.
*/
const customId = 'gqtq-game';
(async function () {
let customModule = await fetch(`../meta.json`);
customModule = await customModule.json();
console.log(customModule);
await loadAssets(customModule.assets);
launchWithCustomModule(customModule);
})();
function launchWithCustomModule(customModule) {
//engine.registerCustomCodeModule(customModule);
engine.registerCustomModule(customId, window[customId]);
const {props: propsOption, assets} = customModule;
let props = engine.computeProps(customModuleProps, propsOption);
const customModuleIns = {
id: customId,
props,
assets,
};
engine.registerCustomModules([customModuleIns]);
engine.launchWithConfig({
options: {
entrySceneView: 'entry',
},
assets: [],
views: [{
name: 'entry',
type: 'node',
properties: {
x: 0,
y: 0,
}
}],
}, null, function () {
setTimeout(() => {
engine.addCustomModule(customId, engine.gameStage.sceneContainer.getChildAt(0));
}, 100);
setTimeout(() => {
engine.globalEvent.dispatchEvent('game-init', {
prizedata:[
"鸡蛋",
"豆腐",
"西红柿",
"牛肉丸",
"玉米",
"红薯",
"谢谢参与",
]
});
}, 500);
});
}
function getAssetByUUID(uuid) {
return engine.resolveCustomAsset(customId, uuid);
}
function getProps() {
return engine.getProps(customId);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>国庆弹球</title>
<meta name="viewport"
content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="full-screen" content="true"/>
<meta name="screen-orientation" content="portrait"/>
<meta name="x5-fullscreen" content="true"/>
<meta name="360-fullscreen" content="true"/>
<style>
html,
body {
padding: 0;
margin: 0;
border: 0;
width: 100%;
height: 100%;
overflow: hidden;
position: absolute;
background-color: transparent;
}
</style>
</head>
<body>
<div id="game-container" style="line-height:0;font-size:0"></div>
<script src="//yun.duiba.com.cn/editor/zeroing/libs/engine.ebc906f6b50b8da0a669f77027981d5f3cb560ce.js"></script>
<!--<script src="http://localhost:4002/debug/engine.js"></script>
<script src="http://localhost:4003/debug/engine-svga.js"></script>-->
<script src="//yun.duiba.com.cn/editor/zeroing/libs/svga.fd3923ae6e664251ca7981801a65809cc5f36bc3.js"> </script>
<!--<script src="//yun.duiba.com.cn/editor/zeroing/libs/engine.9a9dbfda4cb2dd5508ecddfe3d95dfd88063f7b5.js"></script>-->
<script src="app.js"></script>
<script src="props.js"></script>
<script src="load-assets.js"></script>
<script src="main.js"></script>
<script>
</script>
</body>
\ No newline at end of file
/**
* Created by rockyl on 2020-01-21.
*/
const assets = [
];
function loadAssets(customModuleAssets, onProgress, onComplete){
return engine.loadAssets(assets.concat(...customModuleAssets), onProgress, onComplete);
}
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :
typeof define === 'function' && define.amd ? define(['tslib'], factory) :
(global = global || self, global['gqtq-game'] = factory(global.tslib));
}(this, (function (tslib) { 'use strict';
var props = {};
function prepareProps() {
var metaProps = getProps();
engine.injectProp(props, metaProps);
}
function injectProps(p) {
engine.injectProp(props, p);
}
//# sourceMappingURL=props.js.map
function getTexture(uuid) {
return engine.Texture.from(getAssetByUUID(uuid).uuid);
}
function getTextureByName(name) {
return getTexture(engine.getAssetByName(name).uuid);
}
//# sourceMappingURL=utils.js.map
var configData = (function () {
function configData() {
}
configData.get1v2c = function (a, b, c) {
var r1 = (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
var r2 = (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);
var r = Math.min(r1, r2);
if (r1 < 0) {
r = r2;
}
if (r2 < 0) {
r = r1;
}
r = Math.ceil(r);
return r;
};
configData.getFirstDot = function (v) {
var minv = this.maxspeed;
var maxv = this.minspeed;
var levelv = (maxv - minv) / 5;
var inx = 0;
var ltr = 0;
for (var i = 0; i < 5; i++) {
var istartv = maxv - levelv * i;
var iendv = istartv - levelv;
if (v >= iendv) {
inx = configData.dotsarr.line1.length - 1 - (i);
var iendv1 = istartv - levelv / 2;
if (v >= iendv1) {
ltr = 1;
}
else {
ltr = 0;
}
break;
}
}
return [inx, ltr];
};
configData.initDotInfo = function () {
for (var r in this.dotsarr) {
var rline = this.dotsarr[r];
for (var i = 0; i < rline.length; i++) {
var idot = rline[i];
var hasl = true;
var hasr = true;
var lfromu = new Array();
var rformu = new Array();
switch (r) {
case "line1":
break;
case "line2":
if (i == 0) {
hasl = false;
}
else if (i == 6) {
hasr = false;
}
if (hasl) {
var uil = i - 1;
if (this.dotsarr.line1[uil]) {
lfromu.push(["line1", uil, 1]);
}
var uir = i;
if (this.dotsarr.line1[uir]) {
lfromu.push(["line1", uir, 0]);
}
var uil1 = i - 2;
if (this.dotsarr.line1[uil1]) {
lfromu.push(["line1", uil1, 1]);
}
}
if (hasr) {
var uir = i - 1;
if (this.dotsarr.line1[uir]) {
rformu.push(["line1", uir, 1]);
}
var uil = i;
if (this.dotsarr.line1[uil]) {
rformu.push(["line1", uil, 0]);
}
var uil1 = i - 2;
if (this.dotsarr.line1[uil1]) {
lfromu.push(["line1", uil1, 1]);
}
}
break;
case "line3":
if (i == 0) {
hasl = false;
}
else if (i == 6) {
hasr = false;
}
if (hasl) {
var uil = i - 1;
if (this.dotsarr.line2[uil]) {
lfromu.push(["line2", uil, 1]);
}
var uir = i + 1;
if (this.dotsarr.line2[uir]) {
lfromu.push(["line2", uir, 0]);
}
}
if (hasr) {
var uir = i - 1;
if (this.dotsarr.line2[uir]) {
rformu.push(["line2", uir, 1]);
}
var uil = i + 1;
if (this.dotsarr.line2[uil]) {
rformu.push(["line2", uil, 0]);
}
}
break;
case "line4":
if (i == 0) {
hasl = false;
}
else if (i == 6) {
hasr = false;
}
if (hasl) {
var uil = i - 1;
if (this.dotsarr.line3[uil]) {
lfromu.push(["line3", uil, 1]);
}
var uir = i + 1;
if (this.dotsarr.line3[uir]) {
lfromu.push(["line3", uir, 0]);
}
}
if (hasr) {
var uir = i - 1;
if (this.dotsarr.line3[uir]) {
rformu.push(["line3", uir, 0]);
}
var uil = i + 1;
if (this.dotsarr.line3[uil]) {
rformu.push(["line3", uil, 0]);
}
}
break;
case "line5":
if (i == 0) {
hasl = false;
}
else if (i == 7) {
hasr = false;
}
if (hasl) {
var uil = i - 1;
if (this.dotsarr.line4[uil]) {
lfromu.push(["line4", uil, 1]);
}
var uir = i;
if (this.dotsarr.line4[uir]) {
lfromu.push(["line4", uir, 0]);
}
}
if (hasr) {
var uir = i - 1;
if (this.dotsarr.line4[uir]) {
rformu.push(["line4", uir, 1]);
}
var uil = i;
if (this.dotsarr.line4[uil]) {
rformu.push(["line4", uil, 0]);
}
}
break;
case "line6":
if (i == 0) {
hasl = false;
}
else if (i == 7) {
hasr = false;
}
if (i == 0) {
rformu = [["line5", 1, 0]];
}
else if (i == 1) {
lfromu = [["line5", 0, 1], ["line5", 2, 0]];
rformu = [["line5", 0, 1], ["line5", 2, 0]];
}
else if (i == 2) {
lfromu = [["line5", 1, 1], ["line5", 3, 0]];
rformu = [["line5", 1, 1], ["line5", 3, 0]];
}
else if (i == 3) {
lfromu = [["line5", 2, 1], ["line5", 4, 0]];
rformu = [["line5", 2, 1], ["line5", 4, 0]];
}
else if (i == 4) {
lfromu = [["line5", 3, 1], ["line5", 5, 0]];
rformu = [["line5", 3, 1], ["line5", 5, 0]];
}
else if (i == 5) {
lfromu = [["line5", 4, 1], ["line5", 6, 0]];
rformu = [["line5", 4, 1], ["line5", 6, 0]];
}
else if (i == 6) {
lfromu = [["line5", 5, 1], ["line5", 7, 0]];
rformu = [["line5", 5, 1], ["line5", 7, 0]];
}
else if (i == 7) {
lfromu = [["line5", 6, 1]];
}
break;
default:
console.error("未定义initDotInfo===》", r);
}
var lar = new Array();
lar.push(hasl, hasr);
idot.push(lar);
var updot = {
0: lfromu,
1: rformu
};
idot.push(updot);
}
}
for (var p1 in this.prizeUp) {
var p1data = this.prizeUp[p1];
for (var i1 = 0; i1 < p1data.length; i1++) {
var i1data = p1data[i1];
var i1line = [i1data];
this.findUpInfo(i1data, i1line, p1);
}
}
this.allines["6"]["0_1"] = [
[
["line6", 7, 0],
["line5", 6, 1],
["line4", 4, 1],
["line3", 3, 1],
["line2", 2, 1],
["line1", 0, 1],
],
[
["line6", 6, 1],
["line5", 5, 1],
["line4", 4, 1],
["line3", 3, 1],
["line2", 2, 1],
["line1", 0, 1],
]
];
console.log("所有的路径========》》", this.allines);
};
configData.findUpInfo = function (dotinfo, line, p1) {
var dotline = dotinfo[0];
var dotidx = dotinfo[1];
var dotlor = dotinfo[2];
var indata = this.dotsarr[dotline];
var indot = indata[dotidx];
var indotfromdir = indot[3][dotlor];
if (indotfromdir && indotfromdir.length > 0) {
for (var i2 = 0; i2 < indotfromdir.length; i2++) {
var i1data = indotfromdir[i2];
var i1line = tslib.__spreadArrays(line.concat(), [i1data]);
this.findUpInfo(i1data, i1line, p1);
}
}
else {
var lastdot = line[line.length - 1];
if (lastdot[0] == "line1") {
if (!this.allines[p1]) {
this.allines[p1] = {};
}
var lastdotinfo = lastdot[1] + "_" + lastdot[2];
if (!this.allines[p1][lastdotinfo]) {
this.allines[p1][lastdotinfo] = [];
}
this.allines[p1][lastdotinfo].push(line);
}
}
};
configData.getLines = function (v, prizeidx) {
var line = new Array();
var firstdot = this.getFirstDot(v);
line.push(firstdot);
var finadot = this.prizeUp[prizeidx];
var firstinfo = tslib.__spreadArrays(["line1"], firstdot);
var allines = new Array();
var prizeAlline = this.allines[prizeidx];
for (var k in prizeAlline) {
var kstart = k.split("_")[0];
if (kstart == firstinfo[1]) {
allines.push(k);
}
}
var selidx = Math.floor(Math.random() * allines.length);
var seline1 = prizeAlline[allines[selidx]];
var seline = seline1[Math.floor(Math.random() * seline1.length)];
return seline;
};
configData.time1 = 100;
configData.time2 = 200;
configData.time3 = 800;
configData.maxspeed = -1;
configData.minspeed = -0.5;
configData.g = 1 / 100000;
configData.radius = 20;
configData.dotrows = 5;
configData.dotsarr = {
line1: [
[113, 87],
[181, 87],
[245, 87],
[311, 87],
[377, 87],
],
line2: [
[60, 157],
[129, 157],
[194, 157],
[259, 157],
[325, 157],
[387, 157],
[453, 157],
],
line3: [
[72, 232],
[135, 232],
[202, 232],
[268, 232],
[328, 232],
[396, 232],
[453, 232],
],
line4: [
[64, 300],
[127, 300],
[190, 300],
[258, 300],
[319, 300],
[387, 300],
[444, 300],
],
line5: [
[-10, 370],
[95, 370],
[159, 370],
[227, 370],
[292, 370],
[353, 370],
[418, 370],
[478, 370],
],
line6: [
[-10, 440],
[73, 440],
[145, 440],
[217, 440],
[287, 440],
[363, 440],
[431, 440],
[507, 440],
],
};
configData.prizeUp = {
0: [["line6", 0, 1], ["line6", 1, 0], ["line5", 0, 1]],
1: [["line6", 1, 1], ["line6", 2, 0]],
2: [["line6", 2, 1], ["line6", 3, 0]],
3: [["line6", 3, 1], ["line6", 4, 0]],
4: [["line6", 4, 1], ["line6", 5, 0]],
5: [["line6", 5, 1], ["line6", 6, 0]],
6: [["line6", 6, 1], ["line6", 7, 0]]
};
configData.prizePos = {
0: [42, 494],
1: [118, 494],
2: [192, 494],
3: [262, 494],
4: [336, 494],
5: [408, 494],
6: [480, 494],
};
configData.allines = {};
return configData;
}());
//# sourceMappingURL=configData.js.map
var Ball = (function (_super) {
tslib.__extends(Ball, _super);
function Ball() {
var _this = _super.call(this) || this;
_this.linesarr = [];
_this.lines = [];
_this.lastframetime = Date.now();
_this.lt2 = 0;
_this.texture = getTextureByName("ball");
_this.anchorX = 24;
_this.anchorY = 24;
return _this;
}
Ball.prototype.startmove = function (propower, prizeid) {
var _this = this;
var time1 = configData.time1;
this.prizeid = prizeid;
engine.Tween.removeTweens(this);
engine.Tween.get(this)
.to({
y: 490
}, time1, engine.Ease.quadOut)
.call(function () {
_this.movetime = 0;
_this.vx = 0;
_this.vy = (configData.maxspeed - configData.minspeed) * propower + configData.minspeed;
_this.lines = configData.getLines(_this.vy, _this.prizeid);
console.error("选中的路径====》", _this.lines);
console.error("检查233", propower, prizeid);
_this.ltime1 = configData.get1v2c(configData.g / 2, _this.vy, 340);
_this.lastframetime = Date.now();
_this.addEventListener(engine.Event.ENTER_FRAME, _this.updategame, _this);
});
};
Ball.prototype.updategame = function () {
var ntime = Date.now();
var passtime = ntime - this.lastframetime;
var movet1 = 0;
var movet2 = 0;
var g = configData.g;
var npx = this.x;
var npy = this.y;
if (this.movetime < this.ltime1) {
if (this.movetime + passtime > this.ltime1) {
movet1 = this.ltime1 - this.movetime;
passtime -= movet1;
}
else {
movet1 = passtime;
passtime = -1;
}
this.movetime += movet1;
npy += this.vy * movet1 + g * movet1 * movet1 / 2;
npx += this.vx * movet1;
this.vy += g * movet1;
if (passtime > 0) {
var ltime2 = Math.floor(-140 * 2 / this.vy);
this.ltime2 = ltime2 + this.ltime1;
this.g2 = -this.vy / ltime2;
console.error("第二阶段====", this.ltime2, this.movetime, this.ltime1, this.vy, this.vx, this.g2, ltime2);
}
}
if (passtime > 0) {
if (this.movetime < this.ltime2) {
if (this.movetime + passtime > this.ltime2) {
movet2 = this.ltime2 - this.movetime;
passtime -= movet2;
}
else {
movet2 = passtime;
passtime = -1;
}
this.lt2 += movet2;
this.movetime += movet2;
var chay = this.vy * movet2 + this.g2 * movet2 * movet2 / 2;
var chax = this.vx * movet2 - this.g2 * movet2 * movet2 / 2;
npy += chay;
npx += chax;
this.vx -= this.g2 * movet2;
this.vy += this.g2 * movet2;
if (passtime > 0) {
console.error("曲线运动结束==", this.vx, this.vy, this.movetime, this.lt2);
var maxlx = configData.dotsarr.line1[0][0] - npx;
var movey = configData.dotsarr.line1[0][1] - npy;
var g3 = configData.g * 100;
var ltime3 = Math.ceil(Math.sqrt(2 * movey / g3));
this.ltime3 = ltime3 + this.ltime2;
this.g3 = g3;
engine.globalEvent.dispatchEvent("fall-ball");
this.TweenMoveThir();
this.overmove();
return;
}
}
}
if (passtime > 0) {
console.error("曲线运动结束233");
engine.globalEvent.dispatchEvent("fall-ball");
this.TweenMoveThir();
this.overmove();
}
this.x = npx;
this.y = npy;
this.lastframetime = ntime;
};
Ball.prototype.TweenMoveThir = function () {
var nx = this.x;
var ny = this.y;
var linepos = [];
var ballwid = 48;
var dotwid = 20;
engine.Tween.removeTweens(this);
for (var i = this.lines.length - 1; i > -1; i--) {
var idotinfo = this.lines[i];
var inline = idotinfo[0];
var inidx = idotinfo[1];
var inlor = idotinfo[2];
var indot = configData.dotsarr[inline][inidx];
var indotx = indot[0];
var indoty = indot[1];
var tpos1 = void 0;
if (inlor == 0) {
tpos1 = [indotx - ballwid, indoty + dotwid / 2 - ballwid / 2];
}
else {
tpos1 = [indotx + dotwid, indoty + dotwid / 2 - ballwid / 2];
}
var chax = nx - tpos1[0];
var chay = ny - tpos1[1];
linepos.push(tpos1);
}
var twmove = engine.Tween.get(this);
for (var m = 0; m < linepos.length; m++) {
var mpos = linepos[m];
var mposx = mpos[0];
var mposy = mpos[1];
var lengx = nx - mposx;
var lengy = ny - mposy;
nx = mposx;
ny = mposy;
var lengt = Math.ceil(Math.sqrt(lengx * lengx + lengy * lengy) / 0.8);
twmove
.to({
x: mposx,
y: mposy
}, lengt);
if (m == linepos.length - 1) {
var finaposx = configData.prizePos[this.prizeid][0] - ballwid / 2;
var finaposy = configData.prizePos[this.prizeid][1] - ballwid;
var finalengx = nx - finaposx;
var finalengy = ny - finaposy;
var finat = Math.ceil(Math.sqrt(finalengx * finalengx + finalengy * finalengy) / 0.8);
twmove.to({
x: finaposx,
y: finaposy
}, finat);
twmove.call(function () {
engine.globalEvent.dispatchEvent("game-over");
});
}
}
};
Ball.prototype.overmove = function () {
this.removeEventListener(engine.Event.ENTER_FRAME, this.updategame, this);
};
return Ball;
}(engine.Image));
//# sourceMappingURL=Ball.js.map
var GameView = (function (_super) {
tslib.__extends(GameView, _super);
function GameView() {
var _this = _super.call(this) || this;
_this.inemit = false;
_this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);
return _this;
}
GameView.prototype.setup = function () {
configData.initDotInfo();
var gamebg = new engine.Image(getTextureByName("gamebg"));
this.addChild(gamebg);
this.cuizi = new engine.Image(getTextureByName("cuizi"));
this.cuizi.x = 549;
this.cuizi.y = 565;
this.addChild(this.cuizi);
var dotcont = new engine.Container();
this.addChild(dotcont);
var dotexture = getTextureByName("dot");
for (var i = 1; i < 8; i++) {
var itext = new engine.Label();
itext.width = 56;
itext.size = 22;
itext.fillColor = "#660000";
itext.textAlign = engine.TEXT_ALIGN.CENTER;
itext.lineType = engine.TEXT_lINETYPE.MULTI;
itext.text = "奖品" + i;
itext.x = 20 + (56 + 16) * (i - 1);
itext.y = 516;
this.addChild(itext);
this["prizetxt" + i] = itext;
}
var cuizimask = new engine.Graphics();
cuizimask.beginFill(0xffffff, 1);
cuizimask.drawRect(549, 530, 42, 62);
cuizimask.endFill();
this.addChild(cuizimask);
this.cuizi.mask = cuizimask;
this.ball = new engine.Image(getTextureByName("ball"));
this.ball.anchorX = 24;
this.ball.anchorY = 24;
this.addChild(this.ball);
var ballmask = new engine.Graphics();
ballmask.beginFill(0xffffff, 1);
ballmask.drawRect(550, 352, 64, 250);
ballmask.endFill();
this.addChild(ballmask);
this.ball.mask = ballmask;
this.ballfire = new Ball();
this.addChild(this.ballfire);
this.ballfire.visible = false;
var topimg = new engine.Image(getTextureByName("topimg"));
this.addChild(topimg);
this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);
this.reset();
engine.globalEvent.addEventListener("fall-ball", this.fallBall, this);
};
GameView.prototype.mousedown = function () {
};
GameView.prototype.mouseup = function (propower, prizeid) {
var _this = this;
if (propower === void 0) { propower = 1; }
if (prizeid === void 0) { prizeid = 2; }
if (!this.inemit) {
this.inemit = true;
this.ballfire.x = 550;
this.ballfire.y = 520;
this.ballfire.visible = true;
this.ball.visible = false;
this.ballfire.startmove(propower, prizeid);
engine.Tween.removeTweens(this.cuizi);
var time1 = configData.time1;
var time2 = configData.time2;
engine.Tween.get(this.cuizi)
.to({
y: 535
}, time1, engine.Ease.quadOut)
.to({
y: 565
}, time2, engine.Ease.quadIn)
.call(function () {
_this.inemit = false;
});
}
};
GameView.prototype.noemit = function () {
var _this = this;
this.ballfire.visible = false;
this.ball.x = 550;
this.ball.y = 520;
this.ball.visible = true;
engine.Tween.removeTweens(this.cuizi);
engine.Tween.removeTweens(this.ball);
var time1 = configData.time1;
var time2 = configData.time2;
engine.Tween.get(this.cuizi)
.to({
y: 535
}, time1, engine.Ease.quadOut)
.to({
y: 565
}, time2, engine.Ease.quadIn)
.call(function () {
_this.inemit = false;
});
engine.Tween.get(this.ball)
.to({
y: 460
}, time1 + 300, engine.Ease.quadOut)
.to({
y: 520
}, time1 + 300, engine.Ease.quadIn)
.call(function () {
console.error("球落完毕==自定义======2333");
engine.globalEvent.dispatchEvent("fall-complete");
});
};
GameView.prototype.reset = function () {
this.ball.x = 550;
this.ball.y = 520;
};
GameView.prototype.init = function () {
var prizedata = props.prizedata;
for (var i = 0; i < prizedata.length; i++) {
var idata = prizedata[i];
this["prizetxt" + (i + 1)].text = idata;
}
};
GameView.prototype.fallBall = function () {
console.log("球掉落=========》");
this.ball.visible = true;
this.ball.x = 500;
this.ball.y = 352;
engine.Tween.removeTweens(this.ball);
engine.Tween.get(this.ball)
.to({
x: 550
}, 300, engine.Ease.sineOut);
engine.Tween.get(this.ball)
.to({
y: 520
}, 300, engine.Ease.sineIn);
};
return GameView;
}(engine.Container));
//# sourceMappingURL=GameView.js.map
var GameWrapper = (function (_super) {
tslib.__extends(GameWrapper, _super);
function GameWrapper() {
var _this = _super.call(this) || this;
engine.globalEvent.addEventListener('game-mousedown', _this.mousedown, _this);
engine.globalEvent.addEventListener('game-mouseup', _this.mouseup, _this);
engine.globalEvent.addEventListener('game-reset', _this.reset, _this);
engine.globalEvent.addEventListener('game-init', _this.init, _this);
engine.globalEvent.addEventListener('game-noemit', _this.noemit, _this);
_this._gameView = new GameView();
_this.addChild(_this._gameView);
return _this;
}
GameWrapper.prototype.mousedown = function () {
this._gameView.mousedown();
};
GameWrapper.prototype.mouseup = function (event) {
var data = event.data;
var propower = data.propower;
var prizeid = data.prizeid;
this._gameView.mouseup(propower, prizeid);
};
GameWrapper.prototype.reset = function () {
this._gameView.reset();
};
GameWrapper.prototype.init = function (event) {
injectProps(event.data);
this._gameView.init();
};
GameWrapper.prototype.noemit = function () {
this._gameView.noemit();
};
return GameWrapper;
}(engine.Container));
//# sourceMappingURL=GameWrapper.js.map
function index (props) {
prepareProps();
injectProps(props);
var instance = new GameWrapper();
return instance;
}
//# sourceMappingURL=index.js.map
return index;
})));
//# sourceMappingURL=main.js.map
\ No newline at end of file
{"version":3,"file":"index.js","sources":["src/custom/gqtq-game/src/props.ts","src/custom/gqtq-game/src/game/utils.ts","src/custom/gqtq-game/src/game/configData.ts","src/custom/gqtq-game/src/game/Ball.ts","src/custom/gqtq-game/src/game/GameView.ts","src/custom/gqtq-game/src/game/GameWrapper.ts","src/custom/gqtq-game/src/index.ts"],"sourcesContent":["/**\r\n * Created by rockyl on 2020-01-21.\r\n */\r\n// \"//yun.duiba.com.cn/aurora/assets/21070d5b302402f69b9019616c647097961fd3ab.png\",\r\n////yun.duiba.com.cn/aurora/assets/17de7d5e4daca9634861c9b89bc41022df52c4a4.png\r\n\r\nexport let props: any = {};\r\n\r\nexport function prepareProps() {\r\n\tlet metaProps = getProps();\r\n\r\n\tengine.injectProp(props, metaProps);\r\n}\r\n\r\nexport function injectProps(p) {\r\n\tengine.injectProp(props, p);\r\n}\r\n","/**\r\n * Created by rockyl on 2020-01-21.\r\n */\r\n\r\nexport function getTexture(uuid) {\r\n\treturn engine.Texture.from(getAssetByUUID(uuid).uuid);\r\n}\r\n\r\nexport function getTextureByName(name) {\r\n\t// console.log(\"资源加载\",name);\r\n\treturn getTexture(engine.getAssetByName(name).uuid);\r\n}\r\n\r\nexport function playSound(name) {\r\n\tengine.playSound(engine.getAssetByName(name).uuid, {keep: true});\r\n}\r\nexport function getStage(){\r\n\treturn engine.gameStage.stage;\r\n}\r\n\r\nexport function createSvga(name) {\r\n\tlet inst = new svga.Svga();\r\n\tinst.source = engine.getAssetByName(name).uuid;\r\n\t// let anchor = props[(anchorName)];\r\n\t// if (anchor) {\r\n\t// \tinst.x = -anchor.x;\r\n\t// \tinst.y = -anchor.y;\r\n\r\n\t// \tinst.anchorX = anchor.x;\r\n\t// \tinst.anchorY = anchor.y;\r\n\t// }\r\n\treturn inst;\r\n}\r\n","export default class configData {\r\n /**\r\n * 运动阶段\r\n * 1.竖直往上加速->杆回缩->新球掉落》》》》》》\r\n * 2.竖直往上减速\r\n * 3.曲线发射出,竖直减速,水平加速\r\n * 4.设计撞点位置,竖直加速,装点减速,水平减速\r\n */\r\n static time1 = 100;//上加速\r\n static time2 = 200;//杆回缩\r\n static time3 = 800;//新球掉落\r\n\r\n //发射速度\r\n static maxspeed = -1;\r\n static minspeed = -0.5;\r\n static g = 1 / 100000;\r\n /**\r\n * v*t+g*t*t-l=0;\r\n * t = (-v +- Math.sqrt(v*v+4*g*l))/2*g\r\n */\r\n static get1v2c(a, b, c) {\r\n let r1 = (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);\r\n let r2 = (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);\r\n\r\n let r = Math.min(r1, r2);\r\n if (r1 < 0) {\r\n r = r2;\r\n }\r\n if (r2 < 0) {\r\n r = r1;\r\n }\r\n r = Math.ceil(r);\r\n // console.log(\"计算结果====\",r1,r2,\"使用结果===\",r);\r\n return r;\r\n // let \r\n }\r\n //碰撞,点配置\r\n static radius: number = 20;\r\n static dotrows: number = 5;\r\n static dotsarr = {\r\n line1: [\r\n [113, 87],\r\n [181, 87],\r\n [245, 87],\r\n [311, 87],\r\n [377, 87],\r\n // [439, 87],\r\n // [504, 87],\r\n ],\r\n line2: [\r\n [60, 157],\r\n [129, 157],\r\n [194, 157],\r\n [259, 157],\r\n [325, 157],\r\n [387, 157],\r\n [453, 157],\r\n // [525, 157],\r\n ],\r\n line3: [\r\n [72, 232],\r\n [135, 232],\r\n [202, 232],\r\n [268, 232],\r\n [328, 232],\r\n [396, 232],\r\n [453, 232],\r\n ],\r\n line4: [\r\n [64, 300],\r\n [127, 300],\r\n [190, 300],\r\n [258, 300],\r\n [319, 300],\r\n [387, 300],\r\n [444, 300],\r\n ],\r\n line5: [\r\n [-10, 370],\r\n [95, 370],\r\n [159, 370],\r\n [227, 370],\r\n [292, 370],\r\n [353, 370],\r\n [418, 370],\r\n [478, 370],\r\n ],\r\n line6: [\r\n [-10, 440],\r\n [73, 440],\r\n [145, 440],\r\n [217, 440],\r\n [287, 440],\r\n [363, 440],\r\n [431, 440],\r\n [507, 440],\r\n ],\r\n };\r\n /**\r\n * \r\n [1],{\r\n 1:[]\r\n }\r\n */\r\n\r\n //\r\n\r\n static prizeUp = {\r\n 0: [[\"line6\", 0, 1], [\"line6\", 1, 0], [\"line5\", 0, 1]],\r\n 1: [[\"line6\", 1, 1], [\"line6\", 2, 0]],\r\n 2: [[\"line6\", 2, 1], [\"line6\", 3, 0]],\r\n 3: [[\"line6\", 3, 1], [\"line6\", 4, 0]],\r\n 4: [[\"line6\", 4, 1], [\"line6\", 5, 0]],\r\n 5: [[\"line6\", 5, 1], [\"line6\", 6, 0]],\r\n 6: [[\"line6\", 6, 1], [\"line6\", 7, 0]]\r\n }\r\n static prizePos = {\r\n 0: [42, 494],\r\n 1: [118, 494],\r\n 2: [192, 494],\r\n 3: [262, 494],\r\n 4: [336, 494],\r\n 5: [408, 494],\r\n 6: [480, 494],\r\n }\r\n static getFirstDot(v) {\r\n let minv = this.maxspeed;\r\n let maxv = this.minspeed;\r\n //分为5个阶段\r\n let levelv = (maxv - minv) / 5;\r\n let inx = 0;\r\n let ltr = 0;//0是左,1是右\r\n for (let i = 0; i < 5; i++) {\r\n let istartv = maxv - levelv * i;\r\n let iendv = istartv - levelv;\r\n // console.log(istartv,iendv,minv,maxv,v)\r\n if (v >= iendv) {\r\n inx = configData.dotsarr.line1.length - 1 - (i);\r\n //每个点细分左右\r\n let iendv1 = istartv - levelv / 2;\r\n // console.log(\"左右细分===》\",iendv1,istartv,v);\r\n if (v >= iendv1) {\r\n ltr = 1;\r\n } else {\r\n ltr = 0;\r\n }\r\n\r\n\r\n\r\n break;\r\n }\r\n }\r\n return [inx, ltr];\r\n }\r\n\r\n static allines = {\r\n\r\n };\r\n\r\n /**\r\n * 0:{\r\n \"1_0\":[l1,l2],\r\n }\r\n */\r\n\r\n //从简,同行不能跳,第一行可弹跳一次\r\n static initDotInfo() {\r\n for (let r in this.dotsarr) {\r\n let rline = this.dotsarr[r];\r\n // let firhasl = false;\r\n // if(r==\"line4\"){\r\n // firhasl = true;\r\n // }\r\n for (let i = 0; i < rline.length; i++) {\r\n let idot = rline[i];\r\n let hasl = true;\r\n let hasr = true;\r\n let lfromu = new Array();\r\n let rformu = new Array();\r\n\r\n switch (r) {\r\n case \"line1\":\r\n //第一排左右接受,无来自上\r\n break;\r\n case \"line2\":\r\n if (i == 0) {\r\n hasl = false;\r\n } else if (i == 6) {\r\n hasr = false;\r\n }\r\n if (hasl) {\r\n let uil = i - 1;\r\n if (this.dotsarr.line1[uil]) {\r\n lfromu.push([\"line1\", uil, 1]);\r\n }\r\n let uir = i;\r\n if (this.dotsarr.line1[uir]) {\r\n lfromu.push([\"line1\", uir, 0]);\r\n }\r\n let uil1 = i - 2;\r\n if (this.dotsarr.line1[uil1]) {\r\n lfromu.push([\"line1\", uil1, 1]);\r\n }\r\n }\r\n if (hasr) {\r\n let uir = i - 1;\r\n if (this.dotsarr.line1[uir]) {\r\n rformu.push([\"line1\", uir, 1]);\r\n }\r\n let uil = i;\r\n if (this.dotsarr.line1[uil]) {\r\n rformu.push([\"line1\", uil, 0]);\r\n }\r\n let uil1 = i - 2;\r\n if (this.dotsarr.line1[uil1]) {\r\n lfromu.push([\"line1\", uil1, 1]);\r\n }\r\n }\r\n break;\r\n case \"line3\":\r\n if (i == 0) {\r\n hasl = false;\r\n } else if (i == 6) {\r\n hasr = false;\r\n }\r\n if (hasl) {\r\n let uil = i - 1;\r\n if (this.dotsarr.line2[uil]) {\r\n lfromu.push([\"line2\", uil, 1]);\r\n }\r\n let uir = i + 1;\r\n if (this.dotsarr.line2[uir]) {\r\n lfromu.push([\"line2\", uir, 0]);\r\n }\r\n }\r\n if (hasr) {\r\n let uir = i - 1;\r\n if (this.dotsarr.line2[uir]) {\r\n rformu.push([\"line2\", uir, 1]);\r\n }\r\n let uil = i + 1;\r\n if (this.dotsarr.line2[uil]) {\r\n rformu.push([\"line2\", uil, 0]);\r\n }\r\n }\r\n break;\r\n case \"line4\":\r\n if (i == 0) {\r\n hasl = false;\r\n } else if (i == 6) {\r\n hasr = false;\r\n }\r\n if (hasl) {\r\n let uil = i - 1;\r\n if (this.dotsarr.line3[uil]) {\r\n lfromu.push([\"line3\", uil, 1]);\r\n }\r\n let uir = i + 1;\r\n if (this.dotsarr.line3[uir]) {\r\n lfromu.push([\"line3\", uir, 0]);\r\n }\r\n }\r\n if (hasr) {\r\n let uir = i - 1;\r\n if (this.dotsarr.line3[uir]) {\r\n rformu.push([\"line3\", uir, 0]);\r\n }\r\n let uil = i + 1;\r\n if (this.dotsarr.line3[uil]) {\r\n rformu.push([\"line3\", uil, 0]);\r\n }\r\n }\r\n break;\r\n case \"line5\":\r\n if (i == 0) {\r\n hasl = false;\r\n } else if (i == 7) {\r\n hasr = false;\r\n }\r\n if (hasl) {\r\n let uil = i - 1;\r\n if (this.dotsarr.line4[uil]) {\r\n lfromu.push([\"line4\", uil, 1]);\r\n }\r\n let uir = i;\r\n if (this.dotsarr.line4[uir]) {\r\n lfromu.push([\"line4\", uir, 0]);\r\n }\r\n }\r\n if (hasr) {\r\n let uir = i - 1;\r\n if (this.dotsarr.line4[uir]) {\r\n rformu.push([\"line4\", uir, 1]);\r\n }\r\n let uil = i;\r\n if (this.dotsarr.line4[uil]) {\r\n rformu.push([\"line4\", uil, 0]);\r\n }\r\n }\r\n break;\r\n case \"line6\":\r\n if (i == 0) {\r\n hasl = false;\r\n } else if (i == 7) {\r\n hasr = false;\r\n }\r\n if (i == 0) {\r\n rformu = [[\"line5\", 1, 0]]\r\n } else if (i == 1) {\r\n lfromu = [[\"line5\", 0, 1],[\"line5\", 2, 0]];\r\n rformu = [[\"line5\", 0, 1],[\"line5\", 2, 0]];\r\n } else if (i == 2) {\r\n lfromu = [[\"line5\", 1, 1],[\"line5\", 3, 0]];\r\n rformu = [[\"line5\", 1, 1],[\"line5\", 3, 0]];\r\n } else if (i == 3) {\r\n lfromu = [[\"line5\", 2, 1],[\"line5\", 4, 0]];\r\n rformu = [[\"line5\", 2, 1],[\"line5\", 4, 0]];\r\n } else if (i == 4) {\r\n lfromu = [[\"line5\", 3, 1], [\"line5\", 5, 0]];\r\n rformu = [[\"line5\", 3, 1], [\"line5\", 5, 0]];\r\n } else if (i == 5) {\r\n lfromu = [[\"line5\", 4, 1], [\"line5\", 6, 0]];\r\n rformu = [[\"line5\", 4, 1], [\"line5\", 6, 0]];\r\n } else if (i == 6) {\r\n lfromu = [[\"line5\", 5, 1], [\"line5\", 7, 0]];\r\n rformu = [[\"line5\", 5, 1], [\"line5\", 7, 0]];\r\n } else if (i == 7) {\r\n lfromu = [[\"line5\", 6, 1]];\r\n }\r\n\r\n // if(hasl){\r\n // let uil = i-1;\r\n // if(this.dotsarr.line4[uil]){\r\n // lfromu.push(uil,1);\r\n // }\r\n // let uir = i;\r\n // if(this.dotsarr.line4[uir]){\r\n // lfromu.push(uir,0);\r\n // }\r\n // }\r\n // if(hasr){\r\n // let uir = i-1;\r\n // if(this.dotsarr.line4[uir]){\r\n // rformu.push(uir,1);\r\n // }\r\n // let uil = i;\r\n // if(this.dotsarr.line4[uil]){\r\n // rformu.push(uil,0);\r\n // }\r\n // }\r\n break;\r\n default:\r\n console.error(\"未定义initDotInfo===》\", r);\r\n }\r\n let lar = new Array();\r\n lar.push(hasl, hasr);\r\n idot.push(lar);\r\n let updot = {\r\n 0: lfromu,\r\n 1: rformu\r\n };\r\n idot.push(updot);\r\n }\r\n }\r\n\r\n // console.log(\"initcomplete=======>\",this.dotsarr);\r\n\r\n //定下所有奖励与顶层的路线\r\n for (let p1 in this.prizeUp) {\r\n let p1data = this.prizeUp[p1];\r\n // console.log(\"||||||||||||||||||||\",p1data);\r\n for (let i1 = 0; i1 < p1data.length; i1++) {\r\n\r\n let i1data = p1data[i1];\r\n // console.log(\"????????????????\",i1data);\r\n let i1line = [i1data];\r\n this.findUpInfo(i1data, i1line, p1);\r\n }\r\n }\r\n \r\n //手动填路径\r\n // this.allines[\"0\"][\"4_0\"] = [\r\n // [\r\n // [\"line6\", 0, 1],\r\n // [\"line5\", 1, 0],\r\n // [\"line4\", 2, 0],\r\n // [\"line3\", 3, 0],\r\n // [\"line2\", 4, 0],\r\n // [\"line1\", 4, 0],\r\n // ],\r\n // [\r\n // [\"line6\", 1, 0],\r\n // [\"line5\", 1, 0],\r\n // [\"line4\", 2, 0],\r\n // [\"line3\", 3, 0],\r\n // [\"line2\", 4, 0],\r\n // [\"line1\", 4, 0],\r\n // ],\r\n // ]\r\n this.allines[\"6\"][\"0_1\"] = [\r\n [\r\n [\"line6\", 7, 0],\r\n [\"line5\", 6, 1],\r\n [\"line4\", 4, 1],\r\n [\"line3\", 3, 1],\r\n [\"line2\", 2, 1],\r\n [\"line1\", 0, 1],\r\n ],\r\n [\r\n [\"line6\", 6, 1],\r\n [\"line5\", 5, 1],\r\n [\"line4\", 4, 1],\r\n [\"line3\", 3, 1],\r\n [\"line2\", 2, 1],\r\n [\"line1\", 0, 1],\r\n ]\r\n ]\r\n \r\n\r\n \r\n\r\n\r\n\r\n console.log(\"所有的路径========》》\", this.allines);\r\n }\r\n static findUpInfo(dotinfo, line, p1) {\r\n let dotline = dotinfo[0];\r\n let dotidx = dotinfo[1];\r\n let dotlor = dotinfo[2];\r\n\r\n let indata = this.dotsarr[dotline];\r\n let indot = indata[dotidx];\r\n // let indotl = indot[2][0];\r\n // let indotr = indot[2][1];\r\n // if(indotl){\r\n\r\n // }\r\n // if(indotr){\r\n\r\n // }\r\n let indotfromdir = indot[3][dotlor];\r\n // console.log(\"form=========>>>>\",indotfromdir);\r\n if (indotfromdir && indotfromdir.length > 0) {\r\n for (let i2 = 0; i2 < indotfromdir.length; i2++) {\r\n let i1data = indotfromdir[i2];\r\n let i1line = [...line.concat(), i1data];\r\n // line.push(i1line);\r\n this.findUpInfo(i1data, i1line, p1);\r\n }\r\n } else {\r\n //从第一层的路径\r\n let lastdot = line[line.length - 1]\r\n if (lastdot[0] == \"line1\") {\r\n // console.error(\"允许路线==抵达终点========》\",line);\r\n\r\n //奖品p1的路线\r\n if (!this.allines[p1]) {\r\n this.allines[p1] = {};\r\n }\r\n let lastdotinfo = lastdot[1] + \"_\" + lastdot[2];\r\n if (!this.allines[p1][lastdotinfo]) {\r\n this.allines[p1][lastdotinfo] = [];\r\n }\r\n this.allines[p1][lastdotinfo].push(line);\r\n }\r\n\r\n //从第二层的路径\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n static getLines(v, prizeidx) {\r\n let line = new Array();\r\n let firstdot = this.getFirstDot(v);\r\n line.push(firstdot);\r\n\r\n let finadot = this.prizeUp[prizeidx];\r\n // console.log(\"finadot====>\",finadot,\"firstdot==>\",firstdot);\r\n // let finadotu1 = \r\n // let lessynum = this.dotrows-1;\r\n // for(let i=0;i<lessynum;i++){\r\n // let \r\n // }\r\n let firstinfo = [\"line1\", ...firstdot];\r\n // console.log(\"firstinfo=====>\",firstinfo);\r\n\r\n let allines = new Array();\r\n let prizeAlline = this.allines[prizeidx];\r\n for (let k in prizeAlline) {\r\n let kstart = k.split(\"_\")[0];\r\n if (kstart == firstinfo[1]) {\r\n allines.push(k);\r\n }\r\n }\r\n\r\n // console.log(\"所有路线233=====》\",allines);\r\n let selidx = Math.floor(Math.random() * allines.length);\r\n let seline1 = prizeAlline[allines[selidx]];\r\n let seline = seline1[Math.floor(Math.random() * seline1.length)];\r\n return seline;\r\n }\r\n}","import configData from \"./configData\";\r\nimport { getTextureByName } from \"./utils\";\r\nexport default class Ball extends engine.Image {\r\n constructor() {\r\n super();\r\n this.texture = getTextureByName(\"ball\");\r\n this.anchorX = 24;\r\n this.anchorY = 24;\r\n }\r\n movetime;\r\n vx;\r\n vy;\r\n //减速上升\r\n ltime1;\r\n //曲线发射\r\n ltime2;\r\n //曲线到第一次碰撞\r\n ltime3;\r\n\r\n //阶段3弹球轨迹\r\n linesarr = [];\r\n //初始能量大小,判断第一个落点,5个等级\r\n\r\n //第三阶段移动路径\r\n lines = [];\r\n\r\n //本次中奖prize\r\n prizeid;\r\n startmove(propower,prizeid) {\r\n let time1 = configData.time1;\r\n this.prizeid = prizeid;\r\n engine.Tween.removeTweens(this);\r\n engine.Tween.get(this)\r\n .to({\r\n y: 490\r\n }, time1, engine.Ease.quadOut)\r\n .call(() => {\r\n this.movetime = 0;\r\n this.vx = 0;\r\n this.vy = (configData.maxspeed-configData.minspeed)*propower+configData.minspeed;\r\n this.lines = configData.getLines(this.vy,this.prizeid);\r\n console.error(\"选中的路径====》\",this.lines);\r\n console.error(\"检查233\",propower,prizeid);\r\n this.ltime1 = configData.get1v2c(configData.g/2,this.vy,340);\r\n\r\n\r\n this.lastframetime = Date.now();\r\n this.addEventListener(engine.Event.ENTER_FRAME, this.updategame, this);\r\n // console.log(333333);\r\n })\r\n\r\n\r\n } \r\n lastframetime: number = Date.now();\r\n g2:number;\r\n lt2:number = 0;\r\n g3:number;\r\n\r\n thirline:Array<any>;\r\n updategame() {\r\n // console.log(333333);\r\n let ntime = Date.now();\r\n let passtime = ntime - this.lastframetime;\r\n //发射上升阶段\r\n let movet1=0;\r\n //发射曲线射出阶段\r\n let movet2=0;\r\n //加速度\r\n let g = configData.g;\r\n \r\n let npx = this.x;\r\n let npy = this.y;\r\n //阶段1移动\r\n if(this.movetime<this.ltime1){\r\n if(this.movetime+passtime>this.ltime1){\r\n movet1 = this.ltime1-this.movetime;\r\n passtime -= movet1;\r\n }else{\r\n movet1 = passtime;\r\n passtime = -1;\r\n }\r\n this.movetime += movet1;\r\n \r\n npy += this.vy*movet1+g*movet1*movet1/2;\r\n npx += this.vx*movet1;\r\n\r\n this.vy += g*movet1;\r\n\r\n if(passtime>0){\r\n let ltime2 = Math.floor(-140*2/this.vy);\r\n this.ltime2 = ltime2+this.ltime1;\r\n this.g2 = -this.vy/ltime2;\r\n // console.log(this.vy+ltime2*this.g2);\r\n console.error(\"第二阶段====\",this.ltime2,this.movetime,this.ltime1,this.vy,this.vx,this.g2,ltime2);\r\n }\r\n }\r\n //阶段2移动\r\n if(passtime>0){\r\n if(this.movetime<this.ltime2){\r\n if(this.movetime+passtime>this.ltime2){\r\n movet2 = this.ltime2-this.movetime;\r\n passtime -= movet2;\r\n }else{\r\n movet2 = passtime;\r\n passtime = -1;\r\n }\r\n this.lt2 += movet2;\r\n this.movetime += movet2;\r\n let chay = this.vy*movet2+this.g2*movet2*movet2/2;\r\n let chax = this.vx*movet2-this.g2*movet2*movet2/2;\r\n npy += chay;\r\n npx += chax;\r\n this.vx -= this.g2*movet2;\r\n this.vy += this.g2*movet2;\r\n if(passtime>0){\r\n console.error(\"曲线运动结束==\",this.vx,this.vy,this.movetime,this.lt2);\r\n //阶段3开始\r\n let maxlx = configData.dotsarr.line1[0][0]-npx;\r\n let movey = configData.dotsarr.line1[0][1]-npy;\r\n let g3 = configData.g*100;\r\n let ltime3 = Math.ceil(Math.sqrt(2*movey/g3));\r\n this.ltime3 = ltime3+this.ltime2;\r\n // console.log(\"第三阶段\",ltime3);\r\n this.g3 = g3;\r\n\r\n engine.globalEvent.dispatchEvent(\"fall-ball\");\r\n this.TweenMoveThir();\r\n this.overmove();\r\n return;\r\n /**\r\n * maxlx = configData.\r\n * vx*t<=\r\n */\r\n \r\n }\r\n }\r\n }\r\n //阶段3移动\r\n if(passtime>0){\r\n // console.log(333333);\r\n console.error(\"曲线运动结束233\");\r\n engine.globalEvent.dispatchEvent(\"fall-ball\");\r\n this.TweenMoveThir();\r\n this.overmove();\r\n \r\n }\r\n this.x = npx;\r\n this.y = npy;\r\n\r\n\r\n\r\n this.lastframetime = ntime;\r\n }\r\n TweenMoveThir(){\r\n let nx = this.x;\r\n let ny = this.y;\r\n let linepos = [];\r\n let ballwid = 48;\r\n let dotwid = 20;\r\n engine.Tween.removeTweens(this);\r\n for(let i=this.lines.length-1;i>-1;i--){\r\n let idotinfo = this.lines[i];\r\n let inline = idotinfo[0];\r\n let inidx = idotinfo[1];\r\n let inlor = idotinfo[2];\r\n let indot = configData.dotsarr[inline][inidx];\r\n \r\n let indotx = indot[0];\r\n let indoty = indot[1];\r\n\r\n let tpos1;\r\n //弹射弹球\r\n if(inlor==0){\r\n tpos1 = [indotx-ballwid,indoty+dotwid/2-ballwid/2];\r\n }else{\r\n tpos1 = [indotx+dotwid,indoty+dotwid/2-ballwid/2];\r\n }\r\n\r\n let chax = nx-tpos1[0];\r\n let chay = ny-tpos1[1];\r\n //掉落弹球\r\n if(chax<30){\r\n // chax\r\n }\r\n\r\n linepos.push(tpos1);\r\n }\r\n // linepos.push()\r\n\r\n let time1 = 0;\r\n let twmove = engine.Tween.get(this);\r\n for(let m=0;m<linepos.length;m++){\r\n let mpos = linepos[m];\r\n let mposx = mpos[0];\r\n let mposy = mpos[1];\r\n\r\n let lengx = nx-mposx;\r\n let lengy = ny-mposy;\r\n\r\n nx = mposx;\r\n ny = mposy;\r\n\r\n\r\n let lengt = Math.ceil(Math.sqrt(lengx*lengx+lengy*lengy)/0.8);\r\n // console.log(\"位移233=========》\",lengt);\r\n // if(m==0){\r\n // lengt=500;\r\n // }\r\n twmove\r\n // .wait(time1)\r\n .to({\r\n x:mposx,\r\n y:mposy\r\n },lengt);\r\n\r\n time1 += lengt;\r\n\r\n if(m==linepos.length-1){\r\n let finaposx = configData.prizePos[this.prizeid][0]-ballwid/2;\r\n let finaposy = configData.prizePos[this.prizeid][1]-ballwid;\r\n\r\n let finalengx = nx-finaposx;\r\n let finalengy = ny-finaposy;\r\n let finat = Math.ceil(Math.sqrt(finalengx*finalengx+finalengy*finalengy)/0.8);\r\n twmove.to({\r\n x:finaposx,\r\n y:finaposy\r\n },finat);\r\n\r\n twmove.call(()=>{\r\n engine.globalEvent.dispatchEvent(\"game-over\");\r\n })\r\n }\r\n }\r\n }\r\n\r\n overmove() {\r\n this.removeEventListener(engine.Event.ENTER_FRAME, this.updategame, this);\r\n }\r\n\r\n}","import { props } from \"../props\";\r\nimport { getTextureByName } from \"./utils\";\r\nimport Ball from \"./Ball\";\r\nimport configData from \"./configData\";\r\n\r\nexport default class GameView extends engine.Container {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.once(engine.Event.ADDED_TO_STAGE, this.setup, this);\r\n\t}\r\n\tball: engine.Image;\r\n\tballfire: Ball;\r\n\r\n\tcuizi: engine.Image;\r\n\r\n\tprizetxt1: engine.Label;\r\n\tprizetxt2: engine.Label;\r\n\tprizetxt3: engine.Label;\r\n\tprizetxt4: engine.Label;\r\n\tprizetxt5: engine.Label;\r\n\tprizetxt6: engine.Label;\r\n\tprizetxt7: engine.Label;\r\n\r\n\tinemit = false;\r\n\tsetup() {\r\n\t\tconfigData.initDotInfo();\r\n\r\n\t\tlet gamebg = new engine.Image(getTextureByName(\"gamebg\"));\r\n\t\tthis.addChild(gamebg);\r\n\t\tthis.cuizi = new engine.Image(getTextureByName(\"cuizi\"));\r\n\t\tthis.cuizi.x = 549;\r\n\t\tthis.cuizi.y = 565;\r\n\t\tthis.addChild(this.cuizi);\r\n\t\t//圆点层\r\n\t\tlet dotcont = new engine.Container();\r\n\t\tthis.addChild(dotcont);\r\n\r\n\t\tlet dotarr = configData.dotsarr;\r\n\t\tlet dotexture = getTextureByName(\"dot\");\r\n\t\t// for (let k in dotarr) {\r\n\t\t// \tlet kdot = dotarr[k];\r\n\t\t// \tfor (let d = 0; d < kdot.length; d++) {\r\n\t\t// \t\tlet dpos = kdot[d];\r\n\t\t// \t\tlet idot = new engine.Image(dotexture);\r\n\t\t// \t\tidot.x = dpos[0];\r\n\t\t// \t\tidot.y = dpos[1];\r\n\t\t// \t\tdotcont.addChild(idot);\r\n\t\t// \t\tlet txt = new engine.Label();\r\n\t\t// \t\ttxt.size = 20;\r\n\t\t// \t\ttxt.text = k.slice(-1) + \"|\" + d;\r\n\t\t// \t\tidot.addChild(txt);\r\n\t\t// \t}\r\n\t\t// }\r\n\r\n\r\n\t\t//七个奖品文本\r\n\t\tfor (let i = 1; i < 8; i++) {\r\n\t\t\tlet itext = new engine.Label();\r\n\t\t\titext.width = 56;\r\n\t\t\titext.size = 22;\r\n\t\t\titext.fillColor = \"#660000\";\r\n\t\t\t// itext.bold = true;\r\n\t\t\titext.textAlign = engine.TEXT_ALIGN.CENTER;\r\n\t\t\titext.lineType = engine.TEXT_lINETYPE.MULTI;\r\n\t\t\titext.text = \"奖品\" + i;\r\n\t\t\titext.x = 20 + (56 + 16) * (i - 1);\r\n\t\t\titext.y = 516;\r\n\t\t\tthis.addChild(itext);\r\n\t\t\tthis[\"prizetxt\" + i] = itext;\r\n\r\n\t\t}\r\n\r\n\r\n\t\tlet cuizimask = new engine.Graphics();\r\n\t\tcuizimask.beginFill(0xffffff, 1);\r\n\t\tcuizimask.drawRect(549, 530, 42, 62);\r\n\t\tcuizimask.endFill();\r\n\t\tthis.addChild(cuizimask);\r\n\t\tthis.cuizi.mask = cuizimask;\r\n\r\n\r\n\r\n\t\tthis.ball = new engine.Image(getTextureByName(\"ball\"));\r\n\t\tthis.ball.anchorX = 24;\r\n\t\tthis.ball.anchorY = 24;\r\n\t\tthis.addChild(this.ball);\r\n\t\tlet ballmask = new engine.Graphics();\r\n\t\tballmask.beginFill(0xffffff, 1);\r\n\t\tballmask.drawRect(550, 352, 64, 250);\r\n\t\tballmask.endFill();\r\n\t\tthis.addChild(ballmask);\r\n\t\tthis.ball.mask = ballmask;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t\tthis.ballfire = new Ball();\r\n\t\tthis.addChild(this.ballfire);\r\n\t\tthis.ballfire.visible = false;\r\n\r\n\r\n\t\tlet topimg = new engine.Image(getTextureByName(\"topimg\"));\r\n\t\tthis.addChild(topimg);\r\n\r\n\t\tthis.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);\r\n\r\n\t\tthis.reset();\r\n\r\n\r\n\t\t//testbtn\r\n\t\t// let testbtn = new engine.Label();\r\n\t\t// testbtn.text = \"发射\";\r\n\t\t// testbtn.size = 77;\r\n\t\t// testbtn.fillColor = \"#ff0000\";\r\n\t\t// this.addChild(testbtn);\r\n\t\t// testbtn.y = 800;\r\n\t\t// testbtn.x = 100;\r\n\t\t// testbtn.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.mousedown, this);\r\n\t\t// testbtn.addEventListener(engine.MouseEvent.MOUSE_UP,this.mouseup,this);\r\n\r\n\t\tengine.globalEvent.addEventListener(\"fall-ball\", this.fallBall, this);\r\n\t}\r\n\r\n\tmousedown() {\r\n\r\n\t}\r\n\tmouseup(propower = 1, prizeid = 2) {\r\n\t\tif (!this.inemit) {\r\n\t\t\tthis.inemit = true;\r\n\t\t\t// console.log(\"发射233========\");\r\n\t\t\t//\r\n\t\t\tthis.ballfire.x = 550;\r\n\t\t\tthis.ballfire.y = 520;\r\n\t\t\tthis.ballfire.visible = true;\r\n\t\t\tthis.ball.visible = false;\r\n\t\t\tthis.ballfire.startmove(propower, prizeid);\r\n\t\t\tengine.Tween.removeTweens(this.cuizi);\r\n\r\n\t\t\tlet time1 = configData.time1;\r\n\t\t\tlet time2 = configData.time2;\r\n\t\t\tlet time3 = configData.time3;\r\n\r\n\t\t\tengine.Tween.get(this.cuizi)\r\n\t\t\t\t.to({\r\n\t\t\t\t\ty: 535\r\n\t\t\t\t}, time1, engine.Ease.quadOut)\r\n\t\t\t\t.to({\r\n\t\t\t\t\ty: 565\r\n\t\t\t\t}, time2, engine.Ease.quadIn)\r\n\t\t\t\t.call(() => {\r\n\t\t\t\t\tthis.inemit = false;\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\tnoemit() {\r\n\t\tthis.ballfire.visible = false;\r\n\t\tthis.ball.x = 550;\r\n\t\tthis.ball.y = 520;\r\n\r\n\t\tthis.ball.visible = true;\r\n\t\tengine.Tween.removeTweens(this.cuizi);\r\n\t\tengine.Tween.removeTweens(this.ball);\r\n\t\tlet time1 = configData.time1;\r\n\t\tlet time2 = configData.time2;\r\n\t\tlet time3 = configData.time3;\r\n\r\n\t\tengine.Tween.get(this.cuizi)\r\n\t\t\t.to({\r\n\t\t\t\ty: 535\r\n\t\t\t}, time1, engine.Ease.quadOut)\r\n\t\t\t.to({\r\n\t\t\t\ty: 565\r\n\t\t\t}, time2, engine.Ease.quadIn)\r\n\t\t\t.call(() => {\r\n\t\t\t\tthis.inemit = false;\r\n\t\t\t})\r\n\r\n\t\t\tengine.Tween.get(this.ball)\r\n .to({\r\n y: 460\r\n\t\t\t}, time1+300, engine.Ease.quadOut)\r\n\t\t\t.to({\r\n\t\t\t\ty:520\r\n\t\t\t},time1+300,engine.Ease.quadIn)\r\n\t\t\t.call(()=>{\r\n\t\t\t\tconsole.error(\"球落完毕==自定义======2333\");\r\n\t\t\t\tengine.globalEvent.dispatchEvent(\"fall-complete\");\r\n\t\t\t})\r\n\t}\r\n\treset() {\r\n\t\tthis.ball.x = 550;\r\n\t\tthis.ball.y = 520;\r\n\t}\r\n\tinit() {\r\n\t\t// console.log(\"initData=========>\",props);\r\n\t\tlet prizedata = props.prizedata;\r\n\t\tfor (let i = 0; i < prizedata.length; i++) {\r\n\t\t\tlet idata = prizedata[i];\r\n\t\t\tthis[\"prizetxt\" + (i + 1)].text = idata;\r\n\t\t}\r\n\t}\r\n\t//球掉落\r\n\tfallBall() {\r\n\t\tconsole.log(\"球掉落=========》\");\r\n\t\tthis.ball.visible = true;\r\n\t\tthis.ball.x = 500;\r\n\t\tthis.ball.y = 352;\r\n\t\tengine.Tween.removeTweens(this.ball);\r\n\t\tengine.Tween.get(this.ball)\r\n\t\t\t.to({\r\n\t\t\t\tx: 550\r\n\t\t\t}, 300, engine.Ease.sineOut);\r\n\t\tengine.Tween.get(this.ball)\r\n\t\t\t.to({\r\n\t\t\t\ty: 520\r\n\t\t\t}, 300, engine.Ease.sineIn)\r\n\t\t// .to({\r\n\t\t// \ty:520\r\n\t\t// },100);\r\n\t}\r\n}","import { injectProps} from \"../props\";\r\n/**\r\n * Created by rockyl on 2020-01-09.\r\n */\r\n\r\nimport GameView from \"./GameView\"\r\n\r\nexport class GameWrapper extends engine.Container {\r\n\tprivate _gameView: GameView;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tengine.globalEvent.addEventListener('game-mousedown', this.mousedown, this);\r\n\t\tengine.globalEvent.addEventListener('game-mouseup', this.mouseup, this);\r\n\t\tengine.globalEvent.addEventListener('game-reset', this.reset, this);\r\n\t\tengine.globalEvent.addEventListener('game-init', this.init, this);\r\n\t\tengine.globalEvent.addEventListener('game-noemit',this.noemit,this);\r\n\t\tthis._gameView = new GameView();\r\n\t\tthis.addChild(this._gameView);\r\n\t}\r\n\r\n\tmousedown(){\r\n\t\tthis._gameView.mousedown();\r\n\t}\r\n\tmouseup(event){\r\n\t\tlet data = event.data;\r\n\t\tlet propower = data.propower;\r\n\t\tlet prizeid = data.prizeid;\r\n\t\tthis._gameView.mouseup(propower,prizeid);\r\n\t}\r\n\treset(){\r\n\t\tthis._gameView.reset();\r\n\t}\r\n\tinit(event){\r\n\t\tinjectProps(event.data);\r\n\t\tthis._gameView.init();\r\n\t}\r\n\tnoemit(){\r\n\t\tthis._gameView.noemit();\r\n\t}\r\n}\r\n","/**\r\n * Created by rockyl on 2019-11-20.\r\n */\r\n\r\nimport {GameWrapper} from \"./game/GameWrapper\";\r\nimport {injectProps, prepareProps} from \"./props\";\r\n\r\nexport default function (props) {\r\n\tprepareProps();\r\n\tinjectProps(props);\r\n\r\n\tlet instance = new GameWrapper();\r\n\treturn instance;\r\n}\r\n"],"names":["__extends"],"mappings":"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"}
\ No newline at end of file
/**
* Created by rockyl on 2020-01-21.
*/
let customModuleProps = {
};
{
"name": "国庆弹球",
"desc": "弹球抽奖模块",
"props": {
"guideText1": {
"alias": "引导1的文本",
"type": "string",
"default": "长按屏幕\n杆子变长即可通过"
},
"dotsarr":{
"alias": "碰撞圆点",
"type": "array<number>",
"default": "1,1,2,3,4,5"
}
},
"assets": [
{
"name": "gamebg",
"url":"//yun.duiba.com.cn/aurora/assets/21070d5b302402f69b9019616c647097961fd3ab.png",
"uuid": "gamebg",
"ext": ".png"
},
{
"name": "topimg",
"url": "//yun.duiba.com.cn/aurora/assets/754d7b059f021396f236b6380eb55f035060e37c.png",
"uuid": "topimg",
"ext": ".png"
},
{
"name": "ball",
"url": "//yun.duiba.com.cn/aurora/assets/1d87dcd08eded84a3d822a8d20fdd4824d7094b8.png",
"uuid": "ball",
"ext": ".png"
},
{
"name": "cuizi",
"url": "//yun.duiba.com.cn/aurora/assets/8a76770e4da012ac2a18b21e4d5a39851584077f.png",
"uuid": "cuizi",
"ext": ".png"
},
{
"name": "dot",
"url": "//yun.duiba.com.cn/aurora/assets/163e0fe5b25b81c9d3d1733b24dc5a52dce166f0.png",
"uuid": "dot",
"ext": ".png"
}
],
"events": {
"in": {
"game-mousedown": {
"alias": "按下",
"data": {
}
},
"game-mouseup": {
"alias": "松手发射",
"data": {
}
},
"game-reset": {
"alias": "重置游戏",
"data": {
}
},
"game-init": {
"alias": "初始化游戏",
"data": {
}
}
},
"out": {
"game-over": {
"alias": "落球完毕",
"data": {
}
}
}
}
}
\ No newline at end of file
import configData from "./configData";
import { getTextureByName } from "./utils";
export default class Ball extends engine.Image {
constructor() {
super();
this.texture = getTextureByName("ball");
this.anchorX = 24;
this.anchorY = 24;
}
movetime;
vx;
vy;
//减速上升
ltime1;
//曲线发射
ltime2;
//曲线到第一次碰撞
ltime3;
//阶段3弹球轨迹
linesarr = [];
//初始能量大小,判断第一个落点,5个等级
//第三阶段移动路径
lines = [];
//本次中奖prize
prizeid;
startmove(propower,prizeid) {
let time1 = configData.time1;
this.prizeid = prizeid;
engine.Tween.removeTweens(this);
engine.Tween.get(this)
.to({
y: 490
}, time1, engine.Ease.quadOut)
.call(() => {
this.movetime = 0;
this.vx = 0;
this.vy = (configData.maxspeed-configData.minspeed)*propower+configData.minspeed;
this.lines = configData.getLines(this.vy,this.prizeid);
console.error("选中的路径====》",this.lines);
console.error("检查233",propower,prizeid);
this.ltime1 = configData.get1v2c(configData.g/2,this.vy,340);
this.lastframetime = Date.now();
this.addEventListener(engine.Event.ENTER_FRAME, this.updategame, this);
// console.log(333333);
})
}
lastframetime: number = Date.now();
g2:number;
lt2:number = 0;
g3:number;
thirline:Array<any>;
updategame() {
// console.log(333333);
let ntime = Date.now();
let passtime = ntime - this.lastframetime;
//发射上升阶段
let movet1=0;
//发射曲线射出阶段
let movet2=0;
//加速度
let g = configData.g;
let npx = this.x;
let npy = this.y;
//阶段1移动
if(this.movetime<this.ltime1){
if(this.movetime+passtime>this.ltime1){
movet1 = this.ltime1-this.movetime;
passtime -= movet1;
}else{
movet1 = passtime;
passtime = -1;
}
this.movetime += movet1;
npy += this.vy*movet1+g*movet1*movet1/2;
npx += this.vx*movet1;
this.vy += g*movet1;
if(passtime>0){
let ltime2 = Math.floor(-140*2/this.vy);
this.ltime2 = ltime2+this.ltime1;
this.g2 = -this.vy/ltime2;
// console.log(this.vy+ltime2*this.g2);
console.error("第二阶段====",this.ltime2,this.movetime,this.ltime1,this.vy,this.vx,this.g2,ltime2);
}
}
//阶段2移动
if(passtime>0){
if(this.movetime<this.ltime2){
if(this.movetime+passtime>this.ltime2){
movet2 = this.ltime2-this.movetime;
passtime -= movet2;
}else{
movet2 = passtime;
passtime = -1;
}
this.lt2 += movet2;
this.movetime += movet2;
let chay = this.vy*movet2+this.g2*movet2*movet2/2;
let chax = this.vx*movet2-this.g2*movet2*movet2/2;
npy += chay;
npx += chax;
this.vx -= this.g2*movet2;
this.vy += this.g2*movet2;
if(passtime>0){
console.error("曲线运动结束==",this.vx,this.vy,this.movetime,this.lt2);
//阶段3开始
let maxlx = configData.dotsarr.line1[0][0]-npx;
let movey = configData.dotsarr.line1[0][1]-npy;
let g3 = configData.g*100;
let ltime3 = Math.ceil(Math.sqrt(2*movey/g3));
this.ltime3 = ltime3+this.ltime2;
// console.log("第三阶段",ltime3);
this.g3 = g3;
engine.globalEvent.dispatchEvent("fall-ball");
this.TweenMoveThir();
this.overmove();
return;
/**
* maxlx = configData.
* vx*t<=
*/
}
}
}
//阶段3移动
if(passtime>0){
// console.log(333333);
console.error("曲线运动结束233");
engine.globalEvent.dispatchEvent("fall-ball");
this.TweenMoveThir();
this.overmove();
}
this.x = npx;
this.y = npy;
this.lastframetime = ntime;
}
TweenMoveThir(){
let nx = this.x;
let ny = this.y;
let linepos = [];
let ballwid = 48;
let dotwid = 20;
engine.Tween.removeTweens(this);
for(let i=this.lines.length-1;i>-1;i--){
let idotinfo = this.lines[i];
let inline = idotinfo[0];
let inidx = idotinfo[1];
let inlor = idotinfo[2];
let indot = configData.dotsarr[inline][inidx];
let indotx = indot[0];
let indoty = indot[1];
let tpos1;
//弹射弹球
if(inlor==0){
tpos1 = [indotx-ballwid,indoty+dotwid/2-ballwid/2];
}else{
tpos1 = [indotx+dotwid,indoty+dotwid/2-ballwid/2];
}
let chax = nx-tpos1[0];
let chay = ny-tpos1[1];
//掉落弹球
if(chax<30){
// chax
}
linepos.push(tpos1);
}
// linepos.push()
let time1 = 0;
let twmove = engine.Tween.get(this);
for(let m=0;m<linepos.length;m++){
let mpos = linepos[m];
let mposx = mpos[0];
let mposy = mpos[1];
let lengx = nx-mposx;
let lengy = ny-mposy;
nx = mposx;
ny = mposy;
let lengt = Math.ceil(Math.sqrt(lengx*lengx+lengy*lengy)/0.8);
// console.log("位移233=========》",lengt);
// if(m==0){
// lengt=500;
// }
twmove
// .wait(time1)
.to({
x:mposx,
y:mposy
},lengt);
time1 += lengt;
if(m==linepos.length-1){
let finaposx = configData.prizePos[this.prizeid][0]-ballwid/2;
let finaposy = configData.prizePos[this.prizeid][1]-ballwid;
let finalengx = nx-finaposx;
let finalengy = ny-finaposy;
let finat = Math.ceil(Math.sqrt(finalengx*finalengx+finalengy*finalengy)/0.8);
twmove.to({
x:finaposx,
y:finaposy
},finat);
twmove.call(()=>{
engine.globalEvent.dispatchEvent("game-over");
})
}
}
}
overmove() {
this.removeEventListener(engine.Event.ENTER_FRAME, this.updategame, this);
}
}
\ No newline at end of file
import { props } from "../props";
import { getTextureByName } from "./utils";
import Ball from "./Ball";
import configData from "./configData";
export default class GameView extends engine.Container {
constructor() {
super();
this.once(engine.Event.ADDED_TO_STAGE, this.setup, this);
}
ball: engine.Image;
ballfire: Ball;
cuizi: engine.Image;
prizetxt1: engine.Label;
prizetxt2: engine.Label;
prizetxt3: engine.Label;
prizetxt4: engine.Label;
prizetxt5: engine.Label;
prizetxt6: engine.Label;
prizetxt7: engine.Label;
inemit = false;
setup() {
configData.initDotInfo();
let gamebg = new engine.Image(getTextureByName("gamebg"));
this.addChild(gamebg);
this.cuizi = new engine.Image(getTextureByName("cuizi"));
this.cuizi.x = 549;
this.cuizi.y = 565;
this.addChild(this.cuizi);
//圆点层
let dotcont = new engine.Container();
this.addChild(dotcont);
let dotarr = configData.dotsarr;
let dotexture = getTextureByName("dot");
// for (let k in dotarr) {
// let kdot = dotarr[k];
// for (let d = 0; d < kdot.length; d++) {
// let dpos = kdot[d];
// let idot = new engine.Image(dotexture);
// idot.x = dpos[0];
// idot.y = dpos[1];
// dotcont.addChild(idot);
// let txt = new engine.Label();
// txt.size = 20;
// txt.text = k.slice(-1) + "|" + d;
// idot.addChild(txt);
// }
// }
//七个奖品文本
for (let i = 1; i < 8; i++) {
let itext = new engine.Label();
itext.width = 56;
itext.size = 22;
itext.fillColor = "#660000";
// itext.bold = true;
itext.textAlign = engine.TEXT_ALIGN.CENTER;
itext.lineType = engine.TEXT_lINETYPE.MULTI;
itext.text = "奖品" + i;
itext.x = 20 + (56 + 16) * (i - 1);
itext.y = 516;
this.addChild(itext);
this["prizetxt" + i] = itext;
}
let cuizimask = new engine.Graphics();
cuizimask.beginFill(0xffffff, 1);
cuizimask.drawRect(549, 530, 42, 62);
cuizimask.endFill();
this.addChild(cuizimask);
this.cuizi.mask = cuizimask;
this.ball = new engine.Image(getTextureByName("ball"));
this.ball.anchorX = 24;
this.ball.anchorY = 24;
this.addChild(this.ball);
let ballmask = new engine.Graphics();
ballmask.beginFill(0xffffff, 1);
ballmask.drawRect(550, 352, 64, 250);
ballmask.endFill();
this.addChild(ballmask);
this.ball.mask = ballmask;
this.ballfire = new Ball();
this.addChild(this.ballfire);
this.ballfire.visible = false;
let topimg = new engine.Image(getTextureByName("topimg"));
this.addChild(topimg);
this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);
this.reset();
//testbtn
// let testbtn = new engine.Label();
// testbtn.text = "发射";
// testbtn.size = 77;
// testbtn.fillColor = "#ff0000";
// this.addChild(testbtn);
// testbtn.y = 800;
// testbtn.x = 100;
// testbtn.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.mousedown, this);
// testbtn.addEventListener(engine.MouseEvent.MOUSE_UP,this.mouseup,this);
engine.globalEvent.addEventListener("fall-ball", this.fallBall, this);
}
mousedown() {
}
mouseup(propower = 1, prizeid = 2) {
if (!this.inemit) {
this.inemit = true;
// console.log("发射233========");
//
this.ballfire.x = 550;
this.ballfire.y = 520;
this.ballfire.visible = true;
this.ball.visible = false;
this.ballfire.startmove(propower, prizeid);
engine.Tween.removeTweens(this.cuizi);
let time1 = configData.time1;
let time2 = configData.time2;
let time3 = configData.time3;
engine.Tween.get(this.cuizi)
.to({
y: 535
}, time1, engine.Ease.quadOut)
.to({
y: 565
}, time2, engine.Ease.quadIn)
.call(() => {
this.inemit = false;
})
}
}
noemit() {
this.ballfire.visible = false;
this.ball.x = 550;
this.ball.y = 520;
this.ball.visible = true;
engine.Tween.removeTweens(this.cuizi);
engine.Tween.removeTweens(this.ball);
let time1 = configData.time1;
let time2 = configData.time2;
let time3 = configData.time3;
engine.Tween.get(this.cuizi)
.to({
y: 535
}, time1, engine.Ease.quadOut)
.to({
y: 565
}, time2, engine.Ease.quadIn)
.call(() => {
this.inemit = false;
})
engine.Tween.get(this.ball)
.to({
y: 460
}, time1+300, engine.Ease.quadOut)
.to({
y:520
},time1+300,engine.Ease.quadIn)
.call(()=>{
console.error("球落完毕==自定义======2333");
engine.globalEvent.dispatchEvent("fall-complete");
})
}
reset() {
this.ball.x = 550;
this.ball.y = 520;
}
init() {
// console.log("initData=========>",props);
let prizedata = props.prizedata;
for (let i = 0; i < prizedata.length; i++) {
let idata = prizedata[i];
this["prizetxt" + (i + 1)].text = idata;
}
}
//球掉落
fallBall() {
console.log("球掉落=========》");
this.ball.visible = true;
this.ball.x = 500;
this.ball.y = 352;
engine.Tween.removeTweens(this.ball);
engine.Tween.get(this.ball)
.to({
x: 550
}, 300, engine.Ease.sineOut);
engine.Tween.get(this.ball)
.to({
y: 520
}, 300, engine.Ease.sineIn)
// .to({
// y:520
// },100);
}
}
\ No newline at end of file
import { injectProps} from "../props";
/**
* Created by rockyl on 2020-01-09.
*/
import GameView from "./GameView"
export class GameWrapper extends engine.Container {
private _gameView: GameView;
constructor() {
super();
engine.globalEvent.addEventListener('game-mousedown', this.mousedown, this);
engine.globalEvent.addEventListener('game-mouseup', this.mouseup, this);
engine.globalEvent.addEventListener('game-reset', this.reset, this);
engine.globalEvent.addEventListener('game-init', this.init, this);
engine.globalEvent.addEventListener('game-noemit',this.noemit,this);
this._gameView = new GameView();
this.addChild(this._gameView);
}
mousedown(){
this._gameView.mousedown();
}
mouseup(event){
let data = event.data;
let propower = data.propower;
let prizeid = data.prizeid;
this._gameView.mouseup(propower,prizeid);
}
reset(){
this._gameView.reset();
}
init(event){
injectProps(event.data);
this._gameView.init();
}
noemit(){
this._gameView.noemit();
}
}
export default class configData {
/**
* 运动阶段
* 1.竖直往上加速->杆回缩->新球掉落》》》》》》
* 2.竖直往上减速
* 3.曲线发射出,竖直减速,水平加速
* 4.设计撞点位置,竖直加速,装点减速,水平减速
*/
static time1 = 100;//上加速
static time2 = 200;//杆回缩
static time3 = 800;//新球掉落
//发射速度
static maxspeed = -1;
static minspeed = -0.5;
static g = 1 / 100000;
/**
* v*t+g*t*t-l=0;
* t = (-v +- Math.sqrt(v*v+4*g*l))/2*g
*/
static get1v2c(a, b, c) {
let r1 = (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
let r2 = (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);
let r = Math.min(r1, r2);
if (r1 < 0) {
r = r2;
}
if (r2 < 0) {
r = r1;
}
r = Math.ceil(r);
// console.log("计算结果====",r1,r2,"使用结果===",r);
return r;
// let
}
//碰撞,点配置
static radius: number = 20;
static dotrows: number = 5;
static dotsarr = {
line1: [
[113, 87],
[181, 87],
[245, 87],
[311, 87],
[377, 87],
// [439, 87],
// [504, 87],
],
line2: [
[60, 157],
[129, 157],
[194, 157],
[259, 157],
[325, 157],
[387, 157],
[453, 157],
// [525, 157],
],
line3: [
[72, 232],
[135, 232],
[202, 232],
[268, 232],
[328, 232],
[396, 232],
[453, 232],
],
line4: [
[64, 300],
[127, 300],
[190, 300],
[258, 300],
[319, 300],
[387, 300],
[444, 300],
],
line5: [
[-10, 370],
[95, 370],
[159, 370],
[227, 370],
[292, 370],
[353, 370],
[418, 370],
[478, 370],
],
line6: [
[-10, 440],
[73, 440],
[145, 440],
[217, 440],
[287, 440],
[363, 440],
[431, 440],
[507, 440],
],
};
/**
*
[1],{
1:[]
}
*/
//
static prizeUp = {
0: [["line6", 0, 1], ["line6", 1, 0], ["line5", 0, 1]],
1: [["line6", 1, 1], ["line6", 2, 0]],
2: [["line6", 2, 1], ["line6", 3, 0]],
3: [["line6", 3, 1], ["line6", 4, 0]],
4: [["line6", 4, 1], ["line6", 5, 0]],
5: [["line6", 5, 1], ["line6", 6, 0]],
6: [["line6", 6, 1], ["line6", 7, 0]]
}
static prizePos = {
0: [42, 494],
1: [118, 494],
2: [192, 494],
3: [262, 494],
4: [336, 494],
5: [408, 494],
6: [480, 494],
}
static getFirstDot(v) {
let minv = this.maxspeed;
let maxv = this.minspeed;
//分为5个阶段
let levelv = (maxv - minv) / 5;
let inx = 0;
let ltr = 0;//0是左,1是右
for (let i = 0; i < 5; i++) {
let istartv = maxv - levelv * i;
let iendv = istartv - levelv;
// console.log(istartv,iendv,minv,maxv,v)
if (v >= iendv) {
inx = configData.dotsarr.line1.length - 1 - (i);
//每个点细分左右
let iendv1 = istartv - levelv / 2;
// console.log("左右细分===》",iendv1,istartv,v);
if (v >= iendv1) {
ltr = 1;
} else {
ltr = 0;
}
break;
}
}
return [inx, ltr];
}
static allines = {
};
/**
* 0:{
"1_0":[l1,l2],
}
*/
//从简,同行不能跳,第一行可弹跳一次
static initDotInfo() {
for (let r in this.dotsarr) {
let rline = this.dotsarr[r];
// let firhasl = false;
// if(r=="line4"){
// firhasl = true;
// }
for (let i = 0; i < rline.length; i++) {
let idot = rline[i];
let hasl = true;
let hasr = true;
let lfromu = new Array();
let rformu = new Array();
switch (r) {
case "line1":
//第一排左右接受,无来自上
break;
case "line2":
if (i == 0) {
hasl = false;
} else if (i == 6) {
hasr = false;
}
if (hasl) {
let uil = i - 1;
if (this.dotsarr.line1[uil]) {
lfromu.push(["line1", uil, 1]);
}
let uir = i;
if (this.dotsarr.line1[uir]) {
lfromu.push(["line1", uir, 0]);
}
let uil1 = i - 2;
if (this.dotsarr.line1[uil1]) {
lfromu.push(["line1", uil1, 1]);
}
}
if (hasr) {
let uir = i - 1;
if (this.dotsarr.line1[uir]) {
rformu.push(["line1", uir, 1]);
}
let uil = i;
if (this.dotsarr.line1[uil]) {
rformu.push(["line1", uil, 0]);
}
let uil1 = i - 2;
if (this.dotsarr.line1[uil1]) {
lfromu.push(["line1", uil1, 1]);
}
}
break;
case "line3":
if (i == 0) {
hasl = false;
} else if (i == 6) {
hasr = false;
}
if (hasl) {
let uil = i - 1;
if (this.dotsarr.line2[uil]) {
lfromu.push(["line2", uil, 1]);
}
let uir = i + 1;
if (this.dotsarr.line2[uir]) {
lfromu.push(["line2", uir, 0]);
}
}
if (hasr) {
let uir = i - 1;
if (this.dotsarr.line2[uir]) {
rformu.push(["line2", uir, 1]);
}
let uil = i + 1;
if (this.dotsarr.line2[uil]) {
rformu.push(["line2", uil, 0]);
}
}
break;
case "line4":
if (i == 0) {
hasl = false;
} else if (i == 6) {
hasr = false;
}
if (hasl) {
let uil = i - 1;
if (this.dotsarr.line3[uil]) {
lfromu.push(["line3", uil, 1]);
}
let uir = i + 1;
if (this.dotsarr.line3[uir]) {
lfromu.push(["line3", uir, 0]);
}
}
if (hasr) {
let uir = i - 1;
if (this.dotsarr.line3[uir]) {
rformu.push(["line3", uir, 0]);
}
let uil = i + 1;
if (this.dotsarr.line3[uil]) {
rformu.push(["line3", uil, 0]);
}
}
break;
case "line5":
if (i == 0) {
hasl = false;
} else if (i == 7) {
hasr = false;
}
if (hasl) {
let uil = i - 1;
if (this.dotsarr.line4[uil]) {
lfromu.push(["line4", uil, 1]);
}
let uir = i;
if (this.dotsarr.line4[uir]) {
lfromu.push(["line4", uir, 0]);
}
}
if (hasr) {
let uir = i - 1;
if (this.dotsarr.line4[uir]) {
rformu.push(["line4", uir, 1]);
}
let uil = i;
if (this.dotsarr.line4[uil]) {
rformu.push(["line4", uil, 0]);
}
}
break;
case "line6":
if (i == 0) {
hasl = false;
} else if (i == 7) {
hasr = false;
}
if (i == 0) {
rformu = [["line5", 1, 0]]
} else if (i == 1) {
lfromu = [["line5", 0, 1],["line5", 2, 0]];
rformu = [["line5", 0, 1],["line5", 2, 0]];
} else if (i == 2) {
lfromu = [["line5", 1, 1],["line5", 3, 0]];
rformu = [["line5", 1, 1],["line5", 3, 0]];
} else if (i == 3) {
lfromu = [["line5", 2, 1],["line5", 4, 0]];
rformu = [["line5", 2, 1],["line5", 4, 0]];
} else if (i == 4) {
lfromu = [["line5", 3, 1], ["line5", 5, 0]];
rformu = [["line5", 3, 1], ["line5", 5, 0]];
} else if (i == 5) {
lfromu = [["line5", 4, 1], ["line5", 6, 0]];
rformu = [["line5", 4, 1], ["line5", 6, 0]];
} else if (i == 6) {
lfromu = [["line5", 5, 1], ["line5", 7, 0]];
rformu = [["line5", 5, 1], ["line5", 7, 0]];
} else if (i == 7) {
lfromu = [["line5", 6, 1]];
}
// if(hasl){
// let uil = i-1;
// if(this.dotsarr.line4[uil]){
// lfromu.push(uil,1);
// }
// let uir = i;
// if(this.dotsarr.line4[uir]){
// lfromu.push(uir,0);
// }
// }
// if(hasr){
// let uir = i-1;
// if(this.dotsarr.line4[uir]){
// rformu.push(uir,1);
// }
// let uil = i;
// if(this.dotsarr.line4[uil]){
// rformu.push(uil,0);
// }
// }
break;
default:
console.error("未定义initDotInfo===》", r);
}
let lar = new Array();
lar.push(hasl, hasr);
idot.push(lar);
let updot = {
0: lfromu,
1: rformu
};
idot.push(updot);
}
}
// console.log("initcomplete=======>",this.dotsarr);
//定下所有奖励与顶层的路线
for (let p1 in this.prizeUp) {
let p1data = this.prizeUp[p1];
// console.log("||||||||||||||||||||",p1data);
for (let i1 = 0; i1 < p1data.length; i1++) {
let i1data = p1data[i1];
// console.log("????????????????",i1data);
let i1line = [i1data];
this.findUpInfo(i1data, i1line, p1);
}
}
//手动填路径
// this.allines["0"]["4_0"] = [
// [
// ["line6", 0, 1],
// ["line5", 1, 0],
// ["line4", 2, 0],
// ["line3", 3, 0],
// ["line2", 4, 0],
// ["line1", 4, 0],
// ],
// [
// ["line6", 1, 0],
// ["line5", 1, 0],
// ["line4", 2, 0],
// ["line3", 3, 0],
// ["line2", 4, 0],
// ["line1", 4, 0],
// ],
// ]
this.allines["6"]["0_1"] = [
[
["line6", 7, 0],
["line5", 6, 1],
["line4", 4, 1],
["line3", 3, 1],
["line2", 2, 1],
["line1", 0, 1],
],
[
["line6", 6, 1],
["line5", 5, 1],
["line4", 4, 1],
["line3", 3, 1],
["line2", 2, 1],
["line1", 0, 1],
]
]
console.log("所有的路径========》》", this.allines);
}
static findUpInfo(dotinfo, line, p1) {
let dotline = dotinfo[0];
let dotidx = dotinfo[1];
let dotlor = dotinfo[2];
let indata = this.dotsarr[dotline];
let indot = indata[dotidx];
// let indotl = indot[2][0];
// let indotr = indot[2][1];
// if(indotl){
// }
// if(indotr){
// }
let indotfromdir = indot[3][dotlor];
// console.log("form=========>>>>",indotfromdir);
if (indotfromdir && indotfromdir.length > 0) {
for (let i2 = 0; i2 < indotfromdir.length; i2++) {
let i1data = indotfromdir[i2];
let i1line = [...line.concat(), i1data];
// line.push(i1line);
this.findUpInfo(i1data, i1line, p1);
}
} else {
//从第一层的路径
let lastdot = line[line.length - 1]
if (lastdot[0] == "line1") {
// console.error("允许路线==抵达终点========》",line);
//奖品p1的路线
if (!this.allines[p1]) {
this.allines[p1] = {};
}
let lastdotinfo = lastdot[1] + "_" + lastdot[2];
if (!this.allines[p1][lastdotinfo]) {
this.allines[p1][lastdotinfo] = [];
}
this.allines[p1][lastdotinfo].push(line);
}
//从第二层的路径
}
}
static getLines(v, prizeidx) {
let line = new Array();
let firstdot = this.getFirstDot(v);
line.push(firstdot);
let finadot = this.prizeUp[prizeidx];
// console.log("finadot====>",finadot,"firstdot==>",firstdot);
// let finadotu1 =
// let lessynum = this.dotrows-1;
// for(let i=0;i<lessynum;i++){
// let
// }
let firstinfo = ["line1", ...firstdot];
// console.log("firstinfo=====>",firstinfo);
let allines = new Array();
let prizeAlline = this.allines[prizeidx];
for (let k in prizeAlline) {
let kstart = k.split("_")[0];
if (kstart == firstinfo[1]) {
allines.push(k);
}
}
// console.log("所有路线233=====》",allines);
let selidx = Math.floor(Math.random() * allines.length);
let seline1 = prizeAlline[allines[selidx]];
let seline = seline1[Math.floor(Math.random() * seline1.length)];
return seline;
}
}
\ No newline at end of file
/**
* Created by rockyl on 2020-01-21.
*/
export function getTexture(uuid) {
return engine.Texture.from(getAssetByUUID(uuid).uuid);
}
export function getTextureByName(name) {
// console.log("资源加载",name);
return getTexture(engine.getAssetByName(name).uuid);
}
export function playSound(name) {
engine.playSound(engine.getAssetByName(name).uuid, {keep: true});
}
export function getStage(){
return engine.gameStage.stage;
}
export function createSvga(name) {
let inst = new svga.Svga();
inst.source = engine.getAssetByName(name).uuid;
// let anchor = props[(anchorName)];
// if (anchor) {
// inst.x = -anchor.x;
// inst.y = -anchor.y;
// inst.anchorX = anchor.x;
// inst.anchorY = anchor.y;
// }
return inst;
}
/**
* Created by rockyl on 2019-11-20.
*/
import {GameWrapper} from "./game/GameWrapper";
import {injectProps, prepareProps} from "./props";
export default function (props) {
prepareProps();
injectProps(props);
let instance = new GameWrapper();
return instance;
}
/**
* Created by rockyl on 2020-01-21.
*/
// "//yun.duiba.com.cn/aurora/assets/21070d5b302402f69b9019616c647097961fd3ab.png",
////yun.duiba.com.cn/aurora/assets/17de7d5e4daca9634861c9b89bc41022df52c4a4.png
export let props: any = {};
export function prepareProps() {
let metaProps = getProps();
engine.injectProp(props, metaProps);
}
export function injectProps(p) {
engine.injectProp(props, p);
}
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
return engine.getAssetByName(props.blockHitAssets[type]); return engine.getAssetByName(props.blockHitAssets[type]);
} }
function createSvga(name, anchorName) { function createSvga(name, anchorName) {
var inst = new svga.Svga(); var inst = new svga.Svga();
inst.source = 'asset://' + engine.getAssetByName(name).uuid; inst.source = 'asset://' + engine.getAssetByName(name).uuid;
var anchor = props[(anchorName)]; var anchor = props[(anchorName)];
if (anchor) { if (anchor) {
...@@ -81,6 +81,7 @@ ...@@ -81,6 +81,7 @@
this.bodyProfect.gotoAndStop(1); this.bodyProfect.gotoAndStop(1);
this.body.visible = true; this.body.visible = true;
this.bodyHit.visible = false; this.bodyHit.visible = false;
console.log("block==svga==", this.body, this.bodyHit);
}; };
Block.prototype.playEnter = function (index, animation) { Block.prototype.playEnter = function (index, animation) {
var _this = this; var _this = this;
...@@ -166,6 +167,7 @@ ...@@ -166,6 +167,7 @@
}; };
return Background; return Background;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=Background.js.map
var svgaAssets = { var svgaAssets = {
aniReady: { name: '准备立正', dir: 1 }, aniReady: { name: '准备立正', dir: 1 },
...@@ -526,6 +528,7 @@ ...@@ -526,6 +528,7 @@
return new Promise(function (resolve) { return new Promise(function (resolve) {
_this._jumpTipsLabel.text = props.jumpTips[parseInt((Math.random() * props.jumpTips.length) + "")]; _this._jumpTipsLabel.text = props.jumpTips[parseInt((Math.random() * props.jumpTips.length) + "")];
_this.alpha = 1; _this.alpha = 1;
console.log("text233======", _this._jumpTipsLabel.text, _this.x, _this.y);
engine.Tween.get(_this, null, null, true) engine.Tween.get(_this, null, null, true)
.wait(800) .wait(800)
.to({ alpha: 0 }, 200, engine.Ease.cubicInOut) .to({ alpha: 0 }, 200, engine.Ease.cubicInOut)
...@@ -534,7 +537,6 @@ ...@@ -534,7 +537,6 @@
}; };
return JumpTips; return JumpTips;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=JumpTips.js.map
var ObjectPool = engine.ObjectPool; var ObjectPool = engine.ObjectPool;
var PoolName = 'gold-bag'; var PoolName = 'gold-bag';
...@@ -576,6 +578,7 @@ ...@@ -576,6 +578,7 @@
blockShadow.x = -(blockShadow.width - base.width) / 2; blockShadow.x = -(blockShadow.width - base.width) / 2;
blockShadow.y = props.blockShadowOffset; blockShadow.y = props.blockShadowOffset;
base.addChild(blockShadow); base.addChild(blockShadow);
console.log("testbase===", base);
var blockContainer = this.blockContainer = new engine.Container(); var blockContainer = this.blockContainer = new engine.Container();
frontContainer.addChild(blockContainer); frontContainer.addChild(blockContainer);
var player = this.player = new Player(); var player = this.player = new Player();
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -62,6 +62,7 @@ export default class Block extends engine.Container { ...@@ -62,6 +62,7 @@ export default class Block extends engine.Container {
this.body.visible=true; this.body.visible=true;
this.bodyHit.visible=false; this.bodyHit.visible=false;
console.log("block==svga==",this.body,this.bodyHit);
} }
playEnter(index, animation) { playEnter(index, animation) {
......
...@@ -89,7 +89,7 @@ export default class GameView extends engine.Container { ...@@ -89,7 +89,7 @@ export default class GameView extends engine.Container {
blockShadow.y =props.blockShadowOffset; blockShadow.y =props.blockShadowOffset;
base.addChild(blockShadow); base.addChild(blockShadow);
console.log("testbase===",base);
const blockContainer = this.blockContainer = new engine.Container(); const blockContainer = this.blockContainer = new engine.Container();
frontContainer.addChild(blockContainer); frontContainer.addChild(blockContainer);
......
...@@ -50,6 +50,7 @@ export class JumpTips extends engine.Container { ...@@ -50,6 +50,7 @@ export class JumpTips extends engine.Container {
return new Promise(resolve => { return new Promise(resolve => {
this._jumpTipsLabel.text=props.jumpTips[parseInt((Math.random()*props.jumpTips.length)+"")] this._jumpTipsLabel.text=props.jumpTips[parseInt((Math.random()*props.jumpTips.length)+"")]
this.alpha=1; this.alpha=1;
console.log("text233======",this._jumpTipsLabel.text,this.x,this.y);
engine.Tween.get(this, null, null, true) engine.Tween.get(this, null, null, true)
.wait(800) .wait(800)
.to({alpha: 0}, 200, engine.Ease.cubicInOut) .to({alpha: 0}, 200, engine.Ease.cubicInOut)
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
} }
GameObject.prototype.addComponent = function (cls) { GameObject.prototype.addComponent = function (cls) {
if (this.getComponent(cls) != null) { if (this.getComponent(cls) != null) {
console.error("component is existent");
return; return;
} }
var ins = new cls(this); var ins = new cls(this);
...@@ -69,7 +68,6 @@ ...@@ -69,7 +68,6 @@
}; };
return GameObject; return GameObject;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=GameObject.js.map
var GameComponent = (function () { var GameComponent = (function () {
function GameComponent(owner) { function GameComponent(owner) {
...@@ -103,14 +101,12 @@ ...@@ -103,14 +101,12 @@
}); });
return GameComponent; return GameComponent;
}()); }());
//# sourceMappingURL=GameComponent.js.map
var DataMgr; var DataMgr;
(function (DataMgr) { (function (DataMgr) {
DataMgr.game = null; DataMgr.game = null;
DataMgr.minEnableCaptchaScore = null; DataMgr.minEnableCaptchaScore = null;
})(DataMgr || (DataMgr = {})); })(DataMgr || (DataMgr = {}));
//# sourceMappingURL=DataMgr.js.map
var Physics = (function (_super) { var Physics = (function (_super) {
tslib.__extends(Physics, _super); tslib.__extends(Physics, _super);
...@@ -171,7 +167,6 @@ ...@@ -171,7 +167,6 @@
}; };
return Physics; return Physics;
}(GameComponent)); }(GameComponent));
//# sourceMappingURL=Physics.js.map
var Collider = (function (_super) { var Collider = (function (_super) {
tslib.__extends(Collider, _super); tslib.__extends(Collider, _super);
...@@ -312,7 +307,6 @@ ...@@ -312,7 +307,6 @@
ColliderType[ColliderType["Rect"] = 1] = "Rect"; ColliderType[ColliderType["Rect"] = 1] = "Rect";
ColliderType[ColliderType["Point"] = 2] = "Point"; ColliderType[ColliderType["Point"] = 2] = "Point";
})(ColliderType || (ColliderType = {})); })(ColliderType || (ColliderType = {}));
//# sourceMappingURL=Collider.js.map
var MConst; var MConst;
(function (MConst) { (function (MConst) {
...@@ -321,7 +315,7 @@ ...@@ -321,7 +315,7 @@
width: 750, width: 750,
height: 1624 height: 1624
}; };
MConst.GroundLine = 1110; MConst.GroundLine = 1330;
MConst.BulletFireSpeed = { MConst.BulletFireSpeed = {
min: 10, min: 10,
max: 20 max: 20
...@@ -352,7 +346,6 @@ ...@@ -352,7 +346,6 @@
MConst.WenzhouLocation = new engine.Rectangle(119.37, 27.03, 1.81, 1.33); MConst.WenzhouLocation = new engine.Rectangle(119.37, 27.03, 1.81, 1.33);
MConst.HangzhouLocation = new engine.Rectangle(118.21, 29.11, 2.09, 1.22); MConst.HangzhouLocation = new engine.Rectangle(118.21, 29.11, 2.09, 1.22);
})(MConst || (MConst = {})); })(MConst || (MConst = {}));
//# sourceMappingURL=MConst.js.map
var MoveObjcet = (function (_super) { var MoveObjcet = (function (_super) {
tslib.__extends(MoveObjcet, _super); tslib.__extends(MoveObjcet, _super);
...@@ -364,7 +357,6 @@ ...@@ -364,7 +357,6 @@
} }
return MoveObjcet; return MoveObjcet;
}(GameObject)); }(GameObject));
//# sourceMappingURL=MoveObject.js.map
var MEvent = (function () { var MEvent = (function () {
function MEvent() { function MEvent() {
...@@ -427,7 +419,6 @@ ...@@ -427,7 +419,6 @@
}; };
return MEvent; return MEvent;
}()); }());
//# sourceMappingURL=MEvent.js.map
var MTimer = (function () { var MTimer = (function () {
function MTimer() { function MTimer() {
...@@ -513,7 +504,6 @@ ...@@ -513,7 +504,6 @@
_onFrame.call(MTimer.deltaTime); _onFrame.call(MTimer.deltaTime);
timerTickEvent.call(); timerTickEvent.call();
} }
//# sourceMappingURL=MTimer.js.map
var GameMgr = (function () { var GameMgr = (function () {
function GameMgr(name) { function GameMgr(name) {
...@@ -530,7 +520,6 @@ ...@@ -530,7 +520,6 @@
}; };
return GameMgr; return GameMgr;
}()); }());
//# sourceMappingURL=GameMgr.js.map
function getTexture(uuid) { function getTexture(uuid) {
var config = getAssetByUUID(uuid); var config = getAssetByUUID(uuid);
...@@ -543,7 +532,6 @@ ...@@ -543,7 +532,6 @@
function clamp(target, min, max) { function clamp(target, min, max) {
return Math.min(max, Math.max(min, target)); return Math.min(max, Math.max(min, target));
} }
//# sourceMappingURL=utils.js.map
var bulletSpeedValue = 20; var bulletSpeedValue = 20;
var frameCountThatBulletsMoveInX = 4; var frameCountThatBulletsMoveInX = 4;
...@@ -621,7 +609,6 @@ ...@@ -621,7 +609,6 @@
}; };
return HorizontalMoveMgr; return HorizontalMoveMgr;
}(GameMgr)); }(GameMgr));
//# sourceMappingURL=Bullet.js.map
var SoundMgr = (function () { var SoundMgr = (function () {
function SoundMgr() { function SoundMgr() {
...@@ -644,23 +631,11 @@ ...@@ -644,23 +631,11 @@
configurable: true configurable: true
}); });
SoundMgr.prototype.playEffect = function (name, loop) { SoundMgr.prototype.playEffect = function (name, loop) {
if (!this.enabled) return;
return;
engine.playSound(getAssetByUUID(nameToUuid[name]).uuid, {
loop: false,
keep: true
}, name);
}; };
SoundMgr._instance = null; SoundMgr._instance = null;
return SoundMgr; return SoundMgr;
}()); }());
var nameToUuid = {
shoot: "b01dc39a-2886-4887-b3bb-0f8c801003a9",
collect: "7004616a-0aba-4826-9245-895e7fdf8d31",
dong: "7fc04e43-1465-4336-92a3-d6039ee88cb3",
boom: "ca6b799f-be85-4e94-99df-812f31801490"
};
//# sourceMappingURL=SoundMgr.js.map
var props = {}; var props = {};
function prepareProps() { function prepareProps() {
...@@ -670,7 +645,6 @@ ...@@ -670,7 +645,6 @@
function injectProps(p) { function injectProps(p) {
engine.injectProp(props, p); engine.injectProp(props, p);
} }
//# sourceMappingURL=props.js.map
var Car = (function (_super) { var Car = (function (_super) {
tslib.__extends(Car, _super); tslib.__extends(Car, _super);
...@@ -851,7 +825,6 @@ ...@@ -851,7 +825,6 @@
}; };
return Car; return Car;
}(GameObject)); }(GameObject));
//# sourceMappingURL=Car.js.map
var CarDi = (function (_super) { var CarDi = (function (_super) {
tslib.__extends(CarDi, _super); tslib.__extends(CarDi, _super);
...@@ -903,7 +876,6 @@ ...@@ -903,7 +876,6 @@
}; };
return CarDi; return CarDi;
}(GameObject)); }(GameObject));
//# sourceMappingURL=CarDi.js.map
var PlayerController = (function (_super) { var PlayerController = (function (_super) {
tslib.__extends(PlayerController, _super); tslib.__extends(PlayerController, _super);
...@@ -940,7 +912,6 @@ ...@@ -940,7 +912,6 @@
} }
return PlayerController; return PlayerController;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=PlayerController.js.map
var MConfigs; var MConfigs;
(function (MConfigs) { (function (MConfigs) {
...@@ -1041,7 +1012,6 @@ ...@@ -1041,7 +1012,6 @@
}, },
}; };
})(MConfigs || (MConfigs = {})); })(MConfigs || (MConfigs = {}));
//# sourceMappingURL=MConfigs.js.map
var MUtils; var MUtils;
(function (MUtils) { (function (MUtils) {
...@@ -1101,7 +1071,6 @@ ...@@ -1101,7 +1071,6 @@
} }
MUtils.setColorFilter = setColorFilter; MUtils.setColorFilter = setColorFilter;
})(MUtils || (MUtils = {})); })(MUtils || (MUtils = {}));
//# sourceMappingURL=MUtils.js.map
function getBallScore(bulletScore, powerScore, colorIndex) { function getBallScore(bulletScore, powerScore, colorIndex) {
var getScoreFromRange = function (_a) { var getScoreFromRange = function (_a) {
...@@ -1189,7 +1158,6 @@ ...@@ -1189,7 +1158,6 @@
} }
return newArray; return newArray;
} }
//# sourceMappingURL=GUtils.js.map
var UILayer = (function (_super) { var UILayer = (function (_super) {
tslib.__extends(UILayer, _super); tslib.__extends(UILayer, _super);
...@@ -1201,7 +1169,6 @@ ...@@ -1201,7 +1169,6 @@
} }
return UILayer; return UILayer;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=UILayer.js.map
var DebugMgr = (function (_super) { var DebugMgr = (function (_super) {
tslib.__extends(DebugMgr, _super); tslib.__extends(DebugMgr, _super);
...@@ -1356,7 +1323,6 @@ ...@@ -1356,7 +1323,6 @@
DebugMgr._instance = null; DebugMgr._instance = null;
return DebugMgr; return DebugMgr;
}(UILayer)); }(UILayer));
//# sourceMappingURL=DebugMgr.js.map
var instanceId1 = null; var instanceId1 = null;
var instanceId2 = null; var instanceId2 = null;
...@@ -1594,7 +1560,6 @@ ...@@ -1594,7 +1560,6 @@
7: 2 7: 2
}; };
var GroupMaxIndex = 7; var GroupMaxIndex = 7;
//# sourceMappingURL=PhycicsSystem.js.map
var PoolGroup = (function () { var PoolGroup = (function () {
function PoolGroup(layer) { function PoolGroup(layer) {
...@@ -1617,7 +1582,6 @@ ...@@ -1617,7 +1582,6 @@
}; };
return Pool; return Pool;
}()); }());
//# sourceMappingURL=Pool.js.map
var GuideMask = (function (_super) { var GuideMask = (function (_super) {
tslib.__extends(GuideMask, _super); tslib.__extends(GuideMask, _super);
...@@ -1641,7 +1605,6 @@ ...@@ -1641,7 +1605,6 @@
top.drawRect(0, 0, sw, y); top.drawRect(0, 0, sw, y);
top.endFill(); top.endFill();
_this.addChild(top); _this.addChild(top);
console.log("长短配置1", sw, sh, y, x, mask.height);
var bottom = new engine.Shape(); var bottom = new engine.Shape();
bottom.beginFill(color, alpha); bottom.beginFill(color, alpha);
bottom.drawRect(0, y + mask.height, sw, sh - (y + mask.height)); bottom.drawRect(0, y + mask.height, sw, sh - (y + mask.height));
...@@ -1654,7 +1617,6 @@ ...@@ -1654,7 +1617,6 @@
} }
return GuideMask; return GuideMask;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=GuideMask.js.map
var GuideMgr = (function () { var GuideMgr = (function () {
function GuideMgr() { function GuideMgr() {
...@@ -1710,13 +1672,22 @@ ...@@ -1710,13 +1672,22 @@
if (end) { if (end) {
_this.guideFlag = false; _this.guideFlag = false;
} }
engine.globalEvent.dispatchEvent("bqgame_ctrl", {
istop: "false"
});
}; };
this._container.addChild(this.currentGuideMask); this._container.addChild(this.currentGuideMask);
}; };
GuideMgr.prototype.setGuideTwo = function (index) {
this.done.push(index);
if (this.done.length >= Object.keys(MConfigs.guide).length) {
DataMgr.game.onGuideDone();
}
this.guideFlag = false;
};
GuideMgr._instance = null; GuideMgr._instance = null;
return GuideMgr; return GuideMgr;
}()); }());
//# sourceMappingURL=GuideMgr.js.map
var tempPower = null; var tempPower = null;
var imageNames = [ var imageNames = [
...@@ -1949,30 +1920,23 @@ ...@@ -1949,30 +1920,23 @@
drops.push(DataMgr.game._pool.drop.spwan(id.toString())); drops.push(DataMgr.game._pool.drop.spwan(id.toString()));
} }
var dir = this.x > MConst.DesignResolution.width / 2 ? -1 : 1; var dir = this.x > MConst.DesignResolution.width / 2 ? -1 : 1;
var _loop_1 = function (i) { for (var i = 0; i < drops.length; i++) {
var drop = drops[i]; var drop = drops[i];
drop.x = this_1.x - drop.bitmap.width / 2; drop.x = this.x - drop.bitmap.width / 2;
drop.y = this_1.y - drop.bitmap.height / 2; drop.y = this.y - drop.bitmap.height / 2;
var offsetRatio = (i - 1) + (2 - (drops.length - 1)); var offsetRatio = (i - 1) + (2 - (drops.length - 1));
var x = MConst.DropVelocityX.x + offsetRatio * MConst.DropVelocityX.offset; var x = MConst.DropVelocityX.x + offsetRatio * MConst.DropVelocityX.offset;
x *= MUtils.random(1 - MConst.DropRandomFactor, 1 + MConst.DropRandomFactor); x *= MUtils.random(1 - MConst.DropRandomFactor, 1 + MConst.DropRandomFactor);
drop.physics.velocity.x = dir * x; drop.physics.velocity.x = dir * x;
drop.physics.velocity.y = -(x * 5 * MUtils.random(0.9, 1.1)); drop.physics.velocity.y = -(x * 5 * MUtils.random(0.9, 1.1));
if (GuideMgr.instance.guideFlag && i == 1) { if (GuideMgr.instance.guideFlag && i == 1) {
MTimer.setFrameTimer(20, function () { GuideMgr.instance.setGuideTwo(1);
GuideMgr.instance.runGuide(1, Math.floor(drop.x), Math.floor(drop.y), true);
});
} }
};
var this_1 = this;
for (var i = 0; i < drops.length; i++) {
_loop_1(i);
} }
}; };
Ball.textures = []; Ball.textures = [];
return Ball; return Ball;
}(MoveObjcet)); }(MoveObjcet));
//# sourceMappingURL=Ball.js.map
var BallPool = (function (_super) { var BallPool = (function (_super) {
tslib.__extends(BallPool, _super); tslib.__extends(BallPool, _super);
...@@ -2014,7 +1978,6 @@ ...@@ -2014,7 +1978,6 @@
}; };
return BallPoolGroup; return BallPoolGroup;
}(PoolGroup)); }(PoolGroup));
//# sourceMappingURL=BallPool.js.map
var FrameAnimationMgr = (function (_super) { var FrameAnimationMgr = (function (_super) {
tslib.__extends(FrameAnimationMgr, _super); tslib.__extends(FrameAnimationMgr, _super);
...@@ -2115,7 +2078,6 @@ ...@@ -2115,7 +2078,6 @@
FrameAnimation.caches = {}; FrameAnimation.caches = {};
return FrameAnimation; return FrameAnimation;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=FrameAnimation.js.map
var PoolFrameAnimation = (function (_super) { var PoolFrameAnimation = (function (_super) {
tslib.__extends(PoolFrameAnimation, _super); tslib.__extends(PoolFrameAnimation, _super);
...@@ -2164,7 +2126,6 @@ ...@@ -2164,7 +2126,6 @@
}; };
return AnimationPoolGroup; return AnimationPoolGroup;
}(PoolGroup)); }(PoolGroup));
//# sourceMappingURL=AnimationPool.js.map
var BulletPool = (function (_super) { var BulletPool = (function (_super) {
tslib.__extends(BulletPool, _super); tslib.__extends(BulletPool, _super);
...@@ -2185,7 +2146,6 @@ ...@@ -2185,7 +2146,6 @@
}; };
return BulletPool; return BulletPool;
}(Pool)); }(Pool));
//# sourceMappingURL=BulletPool.js.map
var TextureMgr; var TextureMgr;
(function (TextureMgr) { (function (TextureMgr) {
...@@ -2221,7 +2181,6 @@ ...@@ -2221,7 +2181,6 @@
} }
TextureMgr.get = get; TextureMgr.get = get;
})(TextureMgr || (TextureMgr = {})); })(TextureMgr || (TextureMgr = {}));
//# sourceMappingURL=TextureMgr.js.map
var InitSpeedValue = 0.08; var InitSpeedValue = 0.08;
var alphaDuration = 300; var alphaDuration = 300;
...@@ -2285,7 +2244,7 @@ ...@@ -2285,7 +2244,7 @@
function SpBoomEffect(color, size) { function SpBoomEffect(color, size) {
var _this = _super.call(this) || this; var _this = _super.call(this) || this;
_this.lines = []; _this.lines = [];
_this.scaleX = _this.scaleY = 0.5 * size + 0.5; _this.scaleX = _this.scaleY = 1 * size + 1;
_this.rotation = MUtils.random(0, 90); _this.rotation = MUtils.random(0, 90);
for (var i = 0; i < 16; i++) { for (var i = 0; i < 16; i++) {
var line = new Line(_this, i % 2, color, i * 22.5); var line = new Line(_this, i % 2, color, i * 22.5);
...@@ -2354,7 +2313,6 @@ ...@@ -2354,7 +2313,6 @@
}; };
return SpBoomEffectPoolGroup; return SpBoomEffectPoolGroup;
}(PoolGroup)); }(PoolGroup));
//# sourceMappingURL=SpBoomEffect.js.map
var dropImgNames = [ var dropImgNames = [
"f7221f86-f376-40ce-b0e8-f7ea573ec780", "f7221f86-f376-40ce-b0e8-f7ea573ec780",
...@@ -2474,7 +2432,6 @@ ...@@ -2474,7 +2432,6 @@
}; };
return Drop; return Drop;
}(MoveObjcet)); }(MoveObjcet));
//# sourceMappingURL=Drop.js.map
var DropPool = (function (_super) { var DropPool = (function (_super) {
tslib.__extends(DropPool, _super); tslib.__extends(DropPool, _super);
...@@ -2508,7 +2465,6 @@ ...@@ -2508,7 +2465,6 @@
}; };
return DropPoolGroup; return DropPoolGroup;
}(PoolGroup)); }(PoolGroup));
//# sourceMappingURL=DropPool.js.map
var DropBlinkMgr = (function (_super) { var DropBlinkMgr = (function (_super) {
tslib.__extends(DropBlinkMgr, _super); tslib.__extends(DropBlinkMgr, _super);
...@@ -2552,7 +2508,6 @@ ...@@ -2552,7 +2508,6 @@
return DropBlinkMgr; return DropBlinkMgr;
}(GameMgr)); }(GameMgr));
var BlinkDuration = 3; var BlinkDuration = 3;
//# sourceMappingURL=DropBlinkMgr.js.map
var Game = (function () { var Game = (function () {
function Game(parent) { function Game(parent) {
...@@ -2594,8 +2549,6 @@ ...@@ -2594,8 +2549,6 @@
GuideMgr.instance.container = parent; GuideMgr.instance.container = parent;
this.node.width = MConst.DesignResolution.width; this.node.width = MConst.DesignResolution.width;
this.node.height = MConst.DesignResolution.height; this.node.height = MConst.DesignResolution.height;
var bg = new engine.Image(getTexture("d99368b8-af5d-4d9e-981e-7bce3e1c1e84"));
this.node.addChild(bg);
this.node.addChild(this.layers.bullet); this.node.addChild(this.layers.bullet);
var car = new Car(); var car = new Car();
car.x = Math.floor(this.node.width / 2 - car.width / 2); car.x = Math.floor(this.node.width / 2 - car.width / 2);
...@@ -2694,6 +2647,8 @@ ...@@ -2694,6 +2647,8 @@
console.error("destroy===233"); console.error("destroy===233");
} }
}; };
Game.prototype.clearGame = function () {
};
Object.defineProperty(Game.prototype, "localScore", { Object.defineProperty(Game.prototype, "localScore", {
get: function () { get: function () {
return this._localScore; return this._localScore;
...@@ -2908,7 +2863,6 @@ ...@@ -2908,7 +2863,6 @@
}); });
return Game; return Game;
}()); }());
//# sourceMappingURL=Game.js.map
var ShootPlanet = (function (_super) { var ShootPlanet = (function (_super) {
tslib.__extends(ShootPlanet, _super); tslib.__extends(ShootPlanet, _super);
...@@ -2927,6 +2881,12 @@ ...@@ -2927,6 +2881,12 @@
engine.globalEvent.addEventListener('bqgame-resume', _this.onResume, _this); engine.globalEvent.addEventListener('bqgame-resume', _this.onResume, _this);
engine.globalEvent.addEventListener("bqgame-start", _this.onStart, _this); engine.globalEvent.addEventListener("bqgame-start", _this.onStart, _this);
engine.globalEvent.addEventListener("bqgame_reset", _this.onReset, _this); engine.globalEvent.addEventListener("bqgame_reset", _this.onReset, _this);
_this.testbtn = new engine.Shape();
_this.testbtn.beginFill(0xff0000, 1);
_this.testbtn.drawRect(0, 0, 200, 200);
_this.testbtn.endFill();
_this.addChild(_this.testbtn);
_this.testbtn.addEventListener(engine.MouseEvent.CLICK, _this.changeStage, _this);
return _this; return _this;
} }
ShootPlanet.prototype.changeStage = function () { ShootPlanet.prototype.changeStage = function () {
...@@ -2943,15 +2903,18 @@ ...@@ -2943,15 +2903,18 @@
if (!this.game) { if (!this.game) {
this.game = new Game(this); this.game = new Game(this);
} }
this.setChildIndex(this.testbtn, 100);
}; };
ShootPlanet.prototype.onSleep = function () { ShootPlanet.prototype.onSleep = function () {
this.game.destroy(); this.game.destroy();
this.game = null; this.game = null;
}; };
ShootPlanet.prototype.clearGame = function () {
this.game.clearGame();
};
ShootPlanet.prototype.onStart = function (e) { ShootPlanet.prototype.onStart = function (e) {
if (e.data) { if (e.data) {
var guide = e.data.guide; var guide = e.data.guide;
console.log("guide", guide);
if (guide) { if (guide) {
var car = this.game._car; var car = this.game._car;
GuideMgr.instance.runGuide(0, Math.floor(car.x + car.width / 2), Math.floor(car.y + car.height / 2 - 110)); GuideMgr.instance.runGuide(0, Math.floor(car.x + car.width / 2), Math.floor(car.y + car.height / 2 - 110));
...@@ -2985,7 +2948,6 @@ ...@@ -2985,7 +2948,6 @@
}; };
return ShootPlanet; return ShootPlanet;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=ShootPlanet.js.map
function index (props) { function index (props) {
prepareProps(); prepareProps();
...@@ -2993,7 +2955,6 @@ ...@@ -2993,7 +2955,6 @@
var instance = new ShootPlanet(); var instance = new ShootPlanet();
return instance; return instance;
} }
//# sourceMappingURL=index.js.map
return index; return index;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -104,6 +104,11 @@ export default class Game { ...@@ -104,6 +104,11 @@ export default class Game {
console.error("destroy===233"); console.error("destroy===233");
} }
} }
//游戏结束,清场
public clearGame(){
//子弹层
// this.layers.bullet
}
private mgrs: GameMgr[] = []; private mgrs: GameMgr[] = [];
public _phycicsSystem: PhycicsSystem = new PhycicsSystem(); public _phycicsSystem: PhycicsSystem = new PhycicsSystem();
......
...@@ -7,7 +7,7 @@ export default class GameObject extends engine.Container { ...@@ -7,7 +7,7 @@ export default class GameObject extends engine.Container {
public name: string = ""; public name: string = "";
public addComponent<T extends GameComponent>(cls: any): T { public addComponent<T extends GameComponent>(cls: any): T {
if (this.getComponent(cls) != null) { if (this.getComponent(cls) != null) {
console.error("component is existent"); // console.error("component is existent");
return; return;
} }
let ins = new cls(this); let ins = new cls(this);
......
...@@ -35,7 +35,7 @@ export default class GuideMask extends engine.Container { ...@@ -35,7 +35,7 @@ export default class GuideMask extends engine.Container {
top.endFill(); top.endFill();
this.addChild(top); this.addChild(top);
console.log("长短配置1",sw,sh,y,x,mask.height); // console.log("长短配置1",sw,sh,y,x,mask.height);
let bottom = new engine.Shape(); let bottom = new engine.Shape();
bottom.beginFill(color, alpha); bottom.beginFill(color, alpha);
......
...@@ -25,12 +25,12 @@ export class ShootPlanet extends engine.Container { ...@@ -25,12 +25,12 @@ export class ShootPlanet extends engine.Container {
engine.globalEvent.addEventListener("bqgame-start",this.onStart,this); engine.globalEvent.addEventListener("bqgame-start",this.onStart,this);
engine.globalEvent.addEventListener("bqgame_reset",this.onReset,this); engine.globalEvent.addEventListener("bqgame_reset",this.onReset,this);
// this.testbtn = new engine.Shape(); this.testbtn = new engine.Shape();
// this.testbtn.beginFill(0xff0000,1); this.testbtn.beginFill(0xff0000,1);
// this.testbtn.drawRect(0,0,200,200); this.testbtn.drawRect(0,0,200,200);
// this.testbtn.endFill(); this.testbtn.endFill();
// this.addChild(this.testbtn); this.addChild(this.testbtn);
// this.testbtn.addEventListener(engine.MouseEvent.CLICK,this.changeStage,this); this.testbtn.addEventListener(engine.MouseEvent.CLICK,this.changeStage,this);
} }
//stage测试233 //stage测试233
ntype = "bqgame-create"; ntype = "bqgame-create";
...@@ -46,10 +46,10 @@ export class ShootPlanet extends engine.Container { ...@@ -46,10 +46,10 @@ export class ShootPlanet extends engine.Container {
public onActive() { public onActive() {
if(!this.game){ if(!this.game){
console.error("新建game========"); // console.error("新建game========");
this.game = new Game(this); this.game = new Game(this);
} }
// this.setChildIndex(this.testbtn,100); this.setChildIndex(this.testbtn,100);
// if (GuideMgr.instance.guideFlag == true) { // if (GuideMgr.instance.guideFlag == true) {
// const car = this.game._car; // const car = this.game._car;
// GuideMgr.instance.runGuide(0, car.x + car.width / 2, car.y + car.height / 2 /* - 130 */); // GuideMgr.instance.runGuide(0, car.x + car.width / 2, car.y + car.height / 2 /* - 130 */);
...@@ -63,11 +63,14 @@ export class ShootPlanet extends engine.Container { ...@@ -63,11 +63,14 @@ export class ShootPlanet extends engine.Container {
this.game.destroy(); this.game.destroy();
this.game = null; this.game = null;
} }
public clearGame(){
this.game.clearGame();
}
public onStart(e){ public onStart(e){
if(e.data){ if(e.data){
let guide = e.data.guide; let guide = e.data.guide;
console.log("guide",guide); // console.log("guide",guide);
if(guide){ if(guide){
const car = this.game._car; const car = this.game._car;
GuideMgr.instance.runGuide(0, Math.floor(car.x + car.width / 2), Math.floor(car.y + car.height / 2-110) /* - 130 */); GuideMgr.instance.runGuide(0, Math.floor(car.x + car.width / 2), Math.floor(car.y + car.height / 2-110) /* - 130 */);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment