Commit 91229572 authored by 任建锋's avatar 任建锋

--

parent c1376683
...@@ -7,6 +7,11 @@ ...@@ -7,6 +7,11 @@
"type": "number", "type": "number",
"default": 900 "default": 900
}, },
"playerPositionX": {
"alias": "玩家Y轴位置",
"type": "number",
"default": 300
},
"runScore": { "runScore": {
"alias": "每前进1米加分(不能小于1)", "alias": "每前进1米加分(不能小于1)",
"type": "number", "type": "number",
...@@ -206,5 +211,5 @@ ...@@ -206,5 +211,5 @@
} }
}, },
"id": "dragon-boat-race", "id": "dragon-boat-race",
"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['dragon-boat-race'] = 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(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\t//# sourceMappingURL=utils.js.map\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('金币'));\n\t var rain1 = new engine.Sprite(getTextureByName('粽子'));\n\t rain[\"npcType\"] = \"rain0\";\n\t rain1[\"npcType\"] = \"rain1\";\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 stone.visible = false;\n\t boom.visible = false;\n\t rain.anchorX = rain.width / 2;\n\t rain1.anchorX = rain1.width / 2;\n\t stone.anchorX = stone.width / 2;\n\t boom.anchorX = boom.width / 2;\n\t rain.anchorY = rain.height / 2;\n\t rain1.anchorY = rain1.height / 2;\n\t stone.anchorY = stone.height / 2;\n\t boom.anchorY = boom.height / 2;\n\t body.addChild(rain);\n\t body.addChild(rain1);\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[\"lifeState\"] = true;\n\t this.visible = true;\n\t this.rotation = 0;\n\t this.anchorOffsetY = 0;\n\t if (this.width <= 0) {\n\t this.anchorX = 50;\n\t }\n\t else {\n\t this.anchorX = this.width / 2;\n\t }\n\t this.anchorY = this.height / 2;\n\t this.scaleX = this.scaleY = 1;\n\t this.y = 0;\n\t this.x = ((750 - props.maxNpcBound) - 120) * Math.random() + 30 + props.maxNpcBound;\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 console.log(props.goodsProbability);\n\t }\n\t if (random < props.goodsProbability[0]) {\n\t this.showNpc(\"rain0\");\n\t }\n\t else if (random >= props.goodsProbability[0] && random <= (props.goodsProbability[0] + props.goodsProbability[1])) {\n\t this.showNpc(\"rain1\");\n\t }\n\t else if (random >= (props.goodsProbability[0] + props.goodsProbability[1]) && random <= (props.goodsProbability[0] + props.goodsProbability[1] + props.goodsProbability[2])) {\n\t this.showNpc(\"stone\");\n\t }\n\t else if (random > (props.goodsProbability[0] + props.goodsProbability[1] + props.goodsProbability[2])) {\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\t//# sourceMappingURL=Goods.js.map\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\t//# sourceMappingURL=object-pool-init.js.map\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.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.bg = new engine.Container();\n\t this.bg.mouseEnabled = false;\n\t this.addChild(this.bg);\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.player.mouseChildren = false;\n\t this.labelScore = new engine.BitmapText();\n\t this.labelScore.font = props.fontName;\n\t this.labelScore.scaleX = this.labelScore.scaleY = 1;\n\t this.addChild(this.labelScore);\n\t this.waterSvga = createSvga(\"碰到金币svga\");\n\t this.water2Svga = createSvga(\"碰到粽子svga\");\n\t this.boomSvga = createSvga(\"碰到石头svga\");\n\t this.playerSvgaReset = new engine.Sprite(getTextureByName('玩家静止'));\n\t this.playerSvgaRun = createSvga(\"玩家滑动\");\n\t this.playerSvgaOver = createSvga(\"玩家翻船\");\n\t this.bg1 = new engine.Sprite(getTextureByName('循环背景1'));\n\t this.bg2 = new engine.Sprite(getTextureByName('循环背景2'));\n\t this.bg3 = new engine.Sprite(getTextureByName('循环背景1'));\n\t this.bg4 = new engine.Sprite(getTextureByName('循环背景2'));\n\t this.player.addChild(this.playerSvgaReset);\n\t this.player.addChild(this.playerSvgaRun);\n\t this.player.addChild(this.playerSvgaOver);\n\t this.addChild(this.waterSvga);\n\t this.addChild(this.water2Svga);\n\t this.addChild(this.boomSvga);\n\t this.addChild(this.player);\n\t this.bg.addChild(this.bg1);\n\t this.bg.addChild(this.bg2);\n\t this.bg.addChild(this.bg3);\n\t this.bg.addChild(this.bg4);\n\t this.waterSvga.visible = false;\n\t this.water2Svga.visible = false;\n\t this.boomSvga.visible = false;\n\t this.setPlayState(this.playerSvgaReset);\n\t this.visible = false;\n\t setTimeout(function () {\n\t _this.visible = true;\n\t _this.player.x = 375 - _this.player.width / 2;\n\t _this.player.y = props.playerPositionY;\n\t _this.playerSvgaRun.x = props.playerRunPosition3Offset[0];\n\t _this.playerSvgaRun.y = props.playerRunPosition3Offset[1];\n\t _this.playerSvgaOver.x = props.playerOverPosition3Offset[0];\n\t _this.playerSvgaOver.y = props.playerOverPosition3Offset[1];\n\t _this.bg1.y = 0;\n\t _this.bg2.y = _this.bg1.height;\n\t _this.bg3.y = _this.bg1.height + _this.bg2.height;\n\t _this.bg4.y = _this.bg1.height + _this.bg2.height + _this.bg3.height;\n\t engine.Tween.get(_this.playerSvgaReset, { loop: true })\n\t .to({ y: 10 }, 500)\n\t .to({ y: 0 }, 500)\n\t .to({ y: 10 }, 500)\n\t .call(function () { });\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 this.rectBg.addEventListener(engine.Event.ENTER_FRAME, this.enterFrame, this);\n\t };\n\t GameView.prototype.setBoomPosition = function (svga, callback) {\n\t svga.x = this.player.x;\n\t svga.y = this.player.y;\n\t if (svga == this.waterSvga) {\n\t svga.x += props.boomPosition1Offset[0];\n\t svga.y += props.boomPosition1Offset[1];\n\t }\n\t else if (svga == this.water2Svga) {\n\t svga.x += props.boomPosition2Offset[0];\n\t svga.y += props.boomPosition2Offset[1];\n\t }\n\t else if (svga == this.boomSvga) {\n\t svga.x += props.boomPosition3Offset[0];\n\t svga.y += props.boomPosition3Offset[1];\n\t }\n\t svga.visible = true;\n\t svga.play(true, false);\n\t svga.once(engine.Event.END_FRAME, function () {\n\t svga.visible = false;\n\t if (callback) {\n\t callback();\n\t }\n\t }, this);\n\t };\n\t GameView.prototype.enterFrame = function () {\n\t if (this.bg.y >= 0) {\n\t this.bg.y = -this.bg3.y;\n\t }\n\t if (this.gameIng) {\n\t this.bg.y += (4 * this.speed);\n\t }\n\t };\n\t GameView.prototype.reset = function () {\n\t this.recycleGoods();\n\t this.score = 0;\n\t this.speed = props.speed;\n\t this.bg.y = -1624;\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.setPlayState(this.playerSvgaReset);\n\t };\n\t GameView.prototype.setPlayState = function (svga) {\n\t this.playerSvgaReset.visible = false;\n\t this.playerSvgaRun.visible = false;\n\t this.playerSvgaOver.visible = false;\n\t console.log(svga);\n\t svga.visible = true;\n\t if (svga == this.playerSvgaOver) {\n\t svga.play(false, false);\n\t svga.once(engine.Event.END_FRAME, function () {\n\t }, this);\n\t }\n\t else if (svga == this.playerSvgaRun) {\n\t svga.play();\n\t }\n\t };\n\t GameView.prototype.start = function () {\n\t var _this = this;\n\t this.gameIng = true;\n\t this.creatNpc();\n\t this.beginNpc();\n\t this.countdown = props.countDown;\n\t this.setPlayState(this.playerSvgaRun);\n\t this.countdownTimer = setInterval(function () {\n\t if (_this.gameIng) {\n\t if (_this.countdown > 0) {\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-time-update', {\n\t time: _this.countdown,\n\t });\n\t _this.countdown -= 1;\n\t }\n\t else {\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-game-over', {\n\t score: _this.score,\n\t reason: 1\n\t });\n\t _this.died();\n\t }\n\t _this.score += Math.round(_this.speed * props.runScore);\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-score-update', {\n\t score: _this.score,\n\t });\n\t }\n\t }, 1000);\n\t };\n\t GameView.prototype.beginNpc = function () {\n\t var _this = this;\n\t this.timer = setTimeout(function () {\n\t if (_this.gameIng) {\n\t _this.speed += props.acceleratedSpeed;\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 _this.beginNpc();\n\t }, 2000 / this.speed);\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 (goods[\"lifeState\"] && _this.hasHit(_this.player, goods)) {\n\t goods[\"lifeState\"] = false;\n\t if (goods[\"npcType\"] == \"rain0\") {\n\t console.log(\"碰到雨滴\");\n\t _this.score += props.rainScore;\n\t if (_this.score < 0) {\n\t _this.score = 0;\n\t }\n\t _this.setBoomPosition(_this.waterSvga);\n\t engine.Tween.get(goods, null, null, true)\n\t .to({ scaleX: 0, scaleY: 0 }, 200)\n\t .call(function () { _this.removeNpc(goods); });\n\t }\n\t else if (goods[\"npcType\"] == \"rain1\") {\n\t console.log(\"碰到雨滴\");\n\t _this.score += props.rain2Score;\n\t if (_this.score < 0) {\n\t _this.score = 0;\n\t }\n\t _this.setBoomPosition(_this.water2Svga);\n\t engine.Tween.get(goods, null, null, true)\n\t .to({ scaleX: 0, scaleY: 0 }, 200)\n\t .call(function () { _this.removeNpc(goods); });\n\t }\n\t else if (goods[\"npcType\"] == \"boom\" || goods[\"npcType\"] == \"stone\") {\n\t console.log(\"碰到炸弹\");\n\t _this.setBoomPosition(_this.boomSvga, function () {\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-game-over', {\n\t score: _this.score,\n\t reason: 2\n\t });\n\t _this.died();\n\t });\n\t _this.setPlayState(_this.playerSvgaOver);\n\t _this.pause();\n\t }\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-score-update', {\n\t score: _this.score,\n\t });\n\t }\n\t }\n\t }\n\t }, this);\n\t };\n\t GameView.prototype.died = function () {\n\t this.score = 0;\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('dragon-boat-race-reset', _this.reset, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-start', _this.start, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-pause', _this.pause, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-resume', _this.resume, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-revive', _this.revive, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-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\t//# sourceMappingURL=GameWrapper.js.map\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\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['dragon-boat-race'] = 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(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\t//# sourceMappingURL=utils.js.map\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('金币'));\n\t var rain1 = new engine.Sprite(getTextureByName('粽子'));\n\t rain[\"npcType\"] = \"rain0\";\n\t rain1[\"npcType\"] = \"rain1\";\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 stone.visible = false;\n\t boom.visible = false;\n\t rain.anchorX = rain.width / 2;\n\t rain1.anchorX = rain1.width / 2;\n\t stone.anchorX = stone.width / 2;\n\t boom.anchorX = boom.width / 2;\n\t rain.anchorY = rain.height / 2;\n\t rain1.anchorY = rain1.height / 2;\n\t stone.anchorY = stone.height / 2;\n\t boom.anchorY = boom.height / 2;\n\t body.addChild(rain);\n\t body.addChild(rain1);\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[\"lifeState\"] = true;\n\t this.visible = true;\n\t this.rotation = 0;\n\t this.anchorOffsetY = 0;\n\t if (this.width <= 0) {\n\t this.anchorX = 50;\n\t }\n\t else {\n\t this.anchorX = this.width / 2;\n\t }\n\t this.anchorY = this.height / 2;\n\t this.scaleX = this.scaleY = 1;\n\t this.y = 0;\n\t this.x = ((750 - props.maxNpcBound) - 120) * Math.random() + 30 + props.maxNpcBound;\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 console.log(props.goodsProbability);\n\t }\n\t if (random < props.goodsProbability[0]) {\n\t this.showNpc(\"rain0\");\n\t }\n\t else if (random >= props.goodsProbability[0] && random <= (props.goodsProbability[0] + props.goodsProbability[1])) {\n\t this.showNpc(\"rain1\");\n\t }\n\t else if (random >= (props.goodsProbability[0] + props.goodsProbability[1]) && random <= (props.goodsProbability[0] + props.goodsProbability[1] + props.goodsProbability[2])) {\n\t this.showNpc(\"stone\");\n\t }\n\t else if (random > (props.goodsProbability[0] + props.goodsProbability[1] + props.goodsProbability[2])) {\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\t//# sourceMappingURL=Goods.js.map\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\t//# sourceMappingURL=object-pool-init.js.map\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.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.bg = new engine.Container();\n\t this.bg.mouseEnabled = false;\n\t this.addChild(this.bg);\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.player.mouseChildren = false;\n\t this.labelScore = new engine.BitmapText();\n\t this.labelScore.font = props.fontName;\n\t this.labelScore.scaleX = this.labelScore.scaleY = 1;\n\t this.addChild(this.labelScore);\n\t this.waterSvga = createSvga(\"碰到金币svga\");\n\t this.water2Svga = createSvga(\"碰到粽子svga\");\n\t this.boomSvga = createSvga(\"碰到石头svga\");\n\t this.playerSvgaReset = new engine.Sprite(getTextureByName('玩家静止'));\n\t this.playerSvgaRun = createSvga(\"玩家滑动\");\n\t this.playerSvgaOver = createSvga(\"玩家翻船\");\n\t this.bg1 = new engine.Sprite(getTextureByName('循环背景1'));\n\t this.bg2 = new engine.Sprite(getTextureByName('循环背景2'));\n\t this.bg3 = new engine.Sprite(getTextureByName('循环背景1'));\n\t this.bg4 = new engine.Sprite(getTextureByName('循环背景2'));\n\t this.player.addChild(this.playerSvgaReset);\n\t this.player.addChild(this.playerSvgaRun);\n\t this.player.addChild(this.playerSvgaOver);\n\t this.addChild(this.waterSvga);\n\t this.addChild(this.water2Svga);\n\t this.addChild(this.boomSvga);\n\t this.addChild(this.player);\n\t this.bg.addChild(this.bg1);\n\t this.bg.addChild(this.bg2);\n\t this.bg.addChild(this.bg3);\n\t this.bg.addChild(this.bg4);\n\t this.waterSvga.visible = false;\n\t this.water2Svga.visible = false;\n\t this.boomSvga.visible = false;\n\t this.setPlayState(this.playerSvgaReset);\n\t this.visible = false;\n\t setTimeout(function () {\n\t _this.visible = true;\n\t _this.player.x = props.playerPositionX;\n\t _this.player.y = props.playerPositionY;\n\t _this.playerSvgaRun.x = props.playerRunPosition3Offset[0];\n\t _this.playerSvgaRun.y = props.playerRunPosition3Offset[1];\n\t _this.playerSvgaOver.x = props.playerOverPosition3Offset[0];\n\t _this.playerSvgaOver.y = props.playerOverPosition3Offset[1];\n\t _this.bg1.y = 0;\n\t _this.bg2.y = _this.bg1.height;\n\t _this.bg3.y = _this.bg1.height + _this.bg2.height;\n\t _this.bg4.y = _this.bg1.height + _this.bg2.height + _this.bg3.height;\n\t engine.Tween.get(_this.playerSvgaReset, { loop: true })\n\t .to({ y: 10 }, 500)\n\t .to({ y: 0 }, 500)\n\t .to({ y: 10 }, 500)\n\t .call(function () { });\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 this.rectBg.addEventListener(engine.Event.ENTER_FRAME, this.enterFrame, this);\n\t };\n\t GameView.prototype.setBoomPosition = function (svga, callback) {\n\t svga.x = this.player.x;\n\t svga.y = this.player.y;\n\t if (svga == this.waterSvga) {\n\t svga.x += props.boomPosition1Offset[0];\n\t svga.y += props.boomPosition1Offset[1];\n\t }\n\t else if (svga == this.water2Svga) {\n\t svga.x += props.boomPosition2Offset[0];\n\t svga.y += props.boomPosition2Offset[1];\n\t }\n\t else if (svga == this.boomSvga) {\n\t svga.x += props.boomPosition3Offset[0];\n\t svga.y += props.boomPosition3Offset[1];\n\t }\n\t svga.visible = true;\n\t svga.play(true, false);\n\t svga.once(engine.Event.END_FRAME, function () {\n\t svga.visible = false;\n\t if (callback) {\n\t callback();\n\t }\n\t }, this);\n\t };\n\t GameView.prototype.enterFrame = function () {\n\t if (this.bg.y >= 0) {\n\t this.bg.y = -this.bg3.y;\n\t }\n\t if (this.gameIng) {\n\t this.bg.y += (4 * this.speed);\n\t }\n\t };\n\t GameView.prototype.reset = function () {\n\t this.recycleGoods();\n\t this.score = 0;\n\t this.speed = props.speed;\n\t this.bg.y = -this.bg3.y;\n\t this.player.anchorY = this.player.height / 2;\n\t this.player.anchorX = this.player.width / 2;\n\t this.player.x = props.playerPositionX;\n\t this.player.y = props.playerPositionY;\n\t this.setPlayState(this.playerSvgaReset);\n\t };\n\t GameView.prototype.setPlayState = function (svga) {\n\t this.playerSvgaReset.visible = false;\n\t this.playerSvgaRun.visible = false;\n\t this.playerSvgaOver.visible = false;\n\t console.log(svga);\n\t svga.visible = true;\n\t if (svga == this.playerSvgaOver) {\n\t svga.play(false, false);\n\t svga.once(engine.Event.END_FRAME, function () {\n\t }, this);\n\t }\n\t else if (svga == this.playerSvgaRun) {\n\t svga.play();\n\t }\n\t };\n\t GameView.prototype.start = function () {\n\t var _this = this;\n\t this.gameIng = true;\n\t this.creatNpc();\n\t this.beginNpc();\n\t this.countdown = props.countDown;\n\t this.setPlayState(this.playerSvgaRun);\n\t this.countdownTimer = setInterval(function () {\n\t if (_this.gameIng) {\n\t if (_this.countdown > 0) {\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-time-update', {\n\t time: _this.countdown,\n\t });\n\t _this.countdown -= 1;\n\t }\n\t else {\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-game-over', {\n\t score: _this.score,\n\t reason: 1\n\t });\n\t _this.died();\n\t }\n\t _this.score += Math.round(_this.speed * props.runScore);\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-score-update', {\n\t score: _this.score,\n\t });\n\t }\n\t }, 1000);\n\t };\n\t GameView.prototype.beginNpc = function () {\n\t var _this = this;\n\t this.timer = setTimeout(function () {\n\t if (_this.gameIng) {\n\t _this.speed += props.acceleratedSpeed;\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 _this.beginNpc();\n\t }, 2000 / this.speed);\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 (goods[\"lifeState\"] && _this.hasHit(_this.player, goods)) {\n\t goods[\"lifeState\"] = false;\n\t if (goods[\"npcType\"] == \"rain0\") {\n\t console.log(\"碰到雨滴\");\n\t _this.score += props.rainScore;\n\t if (_this.score < 0) {\n\t _this.score = 0;\n\t }\n\t _this.setBoomPosition(_this.waterSvga);\n\t engine.Tween.get(goods, null, null, true)\n\t .to({ scaleX: 0, scaleY: 0 }, 200)\n\t .call(function () { _this.removeNpc(goods); });\n\t }\n\t else if (goods[\"npcType\"] == \"rain1\") {\n\t console.log(\"碰到雨滴\");\n\t _this.score += props.rain2Score;\n\t if (_this.score < 0) {\n\t _this.score = 0;\n\t }\n\t _this.setBoomPosition(_this.water2Svga);\n\t engine.Tween.get(goods, null, null, true)\n\t .to({ scaleX: 0, scaleY: 0 }, 200)\n\t .call(function () { _this.removeNpc(goods); });\n\t }\n\t else if (goods[\"npcType\"] == \"boom\" || goods[\"npcType\"] == \"stone\") {\n\t console.log(\"碰到炸弹\");\n\t _this.setBoomPosition(_this.boomSvga, function () {\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-game-over', {\n\t score: _this.score,\n\t reason: 2\n\t });\n\t _this.died();\n\t });\n\t _this.setPlayState(_this.playerSvgaOver);\n\t _this.pause();\n\t }\n\t engine.globalEvent.dispatchEvent('dragon-boat-race-score-update', {\n\t score: _this.score,\n\t });\n\t }\n\t }\n\t }\n\t }, this);\n\t };\n\t GameView.prototype.died = function () {\n\t this.score = 0;\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('dragon-boat-race-reset', _this.reset, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-start', _this.start, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-pause', _this.pause, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-resume', _this.resume, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-revive', _this.revive, _this);\n\t engine.globalEvent.addEventListener('dragon-boat-race-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\t//# sourceMappingURL=GameWrapper.js.map\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\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n"
} }
...@@ -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\t//# sourceMappingURL=props.js.map\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\t//# sourceMappingURL=utils.js.map\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\t//# sourceMappingURL=Goods.js.map\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\t//# sourceMappingURL=object-pool-init.js.map\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.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 };\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 var _this = this;\n\t this.score = 0;\n\t this.speed = 1;\n\t this.gameIng = true;\n\t this.creatNpc();\n\t this.beginNpc();\n\t this.countdown = props.countDown;\n\t this.countdownTimer = setInterval(function () {\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 }, 1000);\n\t };\n\t GameView.prototype.beginNpc = function () {\n\t var _this = this;\n\t this.timer = setTimeout(function () {\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 _this.beginNpc();\n\t }, 2000 / this.speed);\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\t//# sourceMappingURL=GameWrapper.js.map\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\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['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\t//# sourceMappingURL=props.js.map\n\n\tfunction getTextureByName(name) {\n\t return engine.Texture.from(engine.getAssetByName(name).uuid);\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 return inst;\n\t}\n\t//# sourceMappingURL=utils.js.map\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\t//# sourceMappingURL=Goods.js.map\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\t//# sourceMappingURL=object-pool-init.js.map\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 setTimeout(function () {\n\t engine.globalEvent.dispatchEvent('food-fell-reset', {\n\t \"goodsProbability\": \"0.8,0.1,0.1\",\n\t \"countDown\": 30,\n\t \"acceleratedSpeed\": 0.1\n\t });\n\t engine.globalEvent.dispatchEvent('food-fell-start');\n\t }, 2000);\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\t//# sourceMappingURL=GameWrapper.js.map\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\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n"
} }
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