Commit d92dfed4 authored by zjz1994's avatar zjz1994

消消乐暂存

parent 66c84562
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
}, },
{ {
"name": "房子动画", "name": "房子动画",
"url": "//yun.duiba.com.cn/aurora/assets/f55c640d40911934c7c5cf01f4fc1940ffb4e16c.svga", "url": "//yun.duiba.com.cn/aurora/assets/10d6c3c657e4f26eee2e6f1edca36ec468d57353.svga",
"uuid": "homeani", "uuid": "homeani",
"ext": ".svga" "ext": ".svga"
} }
...@@ -95,5 +95,5 @@ ...@@ -95,5 +95,5 @@
} }
}, },
"id": "xiaoxiaole", "id": "xiaoxiaole",
"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.xiaoxiaole = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\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 createSvga(name, anchorName) {\r\n\t var inst = new svga.Svga();\r\n\t inst.source = 'asset://' + engine.getAssetByName(name).uuid;\r\n\t return inst;\r\n\t}\r\n\t//# sourceMappingURL=utils.js.map\n\n\tvar Element = (function (_super) {\r\n\t tslib.__extends(Element, _super);\r\n\t function Element() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.width = MapData.itemsize;\r\n\t _this.height = MapData.itemsize;\r\n\t _this.anchorX = MapData.itemsize / 2;\r\n\t _this.anchorY = MapData.itemsize;\r\n\t _this.eimage = new engine.Image();\r\n\t _this.addChild(_this.eimage);\r\n\t _this.touch = true;\r\n\t _this.addEventListener(engine.MouseEvent.CLICK, _this.selectele, _this);\r\n\t return _this;\r\n\t }\r\n\t Object.defineProperty(Element.prototype, \"touch\", {\r\n\t set: function (touch) {\r\n\t this.mouseEnabled = touch;\r\n\t this.mouseChildren = touch;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t Element.prototype.init = function (type) {\r\n\t this.scaleX = 1;\r\n\t this.scaleY = 1;\r\n\t this.type = type;\r\n\t var ename = MapData.getEtypeImgName(type);\r\n\t var imgwid = this.eimage.texture.width;\r\n\t var imghei = this.eimage.texture.height;\r\n\t this.eimage.x = (this.width - imgwid) / 2;\r\n\t this.eimage.y = (this.height - imghei) / 2;\r\n\t };\r\n\t Element.prototype.setrc = function (r, c) {\r\n\t this.inrow = r;\r\n\t this.incol = c;\r\n\t };\r\n\t Element.prototype.selectele = function (e) {\r\n\t engine.globalEvent.dispatchEvent(GameEvent.SelectEle, {\r\n\t r: this.inrow,\r\n\t c: this.incol\r\n\t });\r\n\t };\r\n\t Object.defineProperty(Element.prototype, \"factor\", {\r\n\t get: function () {\r\n\t return 0;\r\n\t },\r\n\t set: function (value) {\r\n\t this.x = (1 - value) * (1 - value) * this.p1x + 2 * value * (1 - value) * this.c1x + value * value * this.p2x;\r\n\t this.y = (1 - value) * (1 - value) * this.p1y + 2 * value * (1 - value) * this.c1y + value * value * this.p2y;\r\n\t var mscale = (1 - value) * (1 - value) * 1 + 2 * value * (1 - value) * 0.6 + value * value * 0.35;\r\n\t this.scaleX = mscale;\r\n\t this.scaleY = mscale;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t Element.prototype.flyToHome = function (tx, ty, time) {\r\n\t var _this = this;\r\n\t this.p1x = this.x;\r\n\t this.p1y = this.y + 20;\r\n\t this.c1x = (this.p1x - tx) / 4 + tx;\r\n\t this.c1y = ty;\r\n\t this.p2x = tx;\r\n\t this.p2y = ty;\r\n\t engine.Tween.get(this).to({\r\n\t scaleX: 1.1,\r\n\t scaleY: 1.1\r\n\t }, 200)\r\n\t .to({\r\n\t scaleX: 1.1,\r\n\t scaleY: 0.88\r\n\t }, 100)\r\n\t .to({\r\n\t scaleX: 0.98,\r\n\t scaleY: 0.98,\r\n\t y: this.y + 20\r\n\t }, 100)\r\n\t .call(function () {\r\n\t engine.Tween.get(_this).to({\r\n\t factor: 1\r\n\t }, 450)\r\n\t .call(function () {\r\n\t var nodeparent = _this.parent;\r\n\t nodeparent && nodeparent.removeChild(_this);\r\n\t MapData.recoverEle(_this, _this.type);\r\n\t });\r\n\t });\r\n\t };\r\n\t Element.prototype.changePos = function (tpos) {\r\n\t var _this = this;\r\n\t var nx = this.x;\r\n\t var ny = this.y;\r\n\t var tx = tpos[0];\r\n\t var ty = tpos[1];\r\n\t var dis = MapData.getDistance([nx, ny], tpos);\r\n\t var time = Math.ceil(dis / MapData.anispeed * 1000);\r\n\t var pro = new Promise(function (res) {\r\n\t engine.Tween.get(_this, { loop: false }).to({\r\n\t x: tx,\r\n\t y: ty\r\n\t }, time)\r\n\t .call(function () {\r\n\t console.log(\"单个移动完毕\");\r\n\t res();\r\n\t });\r\n\t });\r\n\t return pro;\r\n\t };\r\n\t return Element;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=Element.js.map\n\n\tvar ElementType;\r\n\t(function (ElementType) {\r\n\t ElementType[ElementType[\"btiger\"] = 1] = \"btiger\";\r\n\t ElementType[ElementType[\"gtiger\"] = 2] = \"gtiger\";\r\n\t ElementType[ElementType[\"monkey\"] = 3] = \"monkey\";\r\n\t ElementType[ElementType[\"bird\"] = 4] = \"bird\";\r\n\t ElementType[ElementType[\"koala\"] = 5] = \"koala\";\r\n\t})(ElementType || (ElementType = {}));\r\n\tvar GameEvent;\r\n\t(function (GameEvent) {\r\n\t GameEvent[\"SelectEle\"] = \"SelectEle\";\r\n\t})(GameEvent || (GameEvent = {}));\r\n\tvar MapData = (function () {\r\n\t function MapData() {\r\n\t }\r\n\t MapData.getRy = function (r) {\r\n\t return this.paddingb + r * (this.itemsize + this.paddingi);\r\n\t };\r\n\t MapData.getCx = function (c) {\r\n\t return this.paddingb + c * (this.itemsize + this.paddingi);\r\n\t };\r\n\t MapData.getRCPos = function (r, c) {\r\n\t var x = this.getCx(c);\r\n\t var y = this.getRy(r);\r\n\t return [x, y];\r\n\t };\r\n\t MapData.adaptElePos = function (pos, wid, hei) {\r\n\t var x = pos[0] + (this.itemsize - wid) / 2;\r\n\t var y = pos[1] + (this.itemsize - hei) / 2;\r\n\t return [x, y];\r\n\t };\r\n\t MapData.getEtypeImgName = function (type) {\r\n\t var ename;\r\n\t switch (type) {\r\n\t case ElementType.btiger:\r\n\t ename = \"白虎\";\r\n\t break;\r\n\t case ElementType.gtiger:\r\n\t ename = \"雌虎\";\r\n\t break;\r\n\t case ElementType.monkey:\r\n\t ename = \"猴子\";\r\n\t break;\r\n\t case ElementType.bird:\r\n\t ename = \"\";\r\n\t break;\r\n\t case ElementType.koala:\r\n\t ename = \"树熊\";\r\n\t break;\r\n\t default:\r\n\t console.error(\"未定义元素类型\");\r\n\t break;\r\n\t }\r\n\t return ename;\r\n\t };\r\n\t MapData.getEtypeImgTex = function (type) {\r\n\t var etex;\r\n\t switch (type) {\r\n\t case ElementType.btiger:\r\n\t etex = this.btigerTex || getTextureByName(\"白虎\");\r\n\t break;\r\n\t case ElementType.gtiger:\r\n\t etex = this.gtigerTex || getTextureByName(\"雌虎\");\r\n\t break;\r\n\t case ElementType.monkey:\r\n\t etex = this.monkeyTex || getTextureByName(\"猴子\");\r\n\t break;\r\n\t case ElementType.bird:\r\n\t etex = this.birdTex || getTextureByName(\"\");\r\n\t break;\r\n\t case ElementType.koala:\r\n\t etex = this.koalaTex || getTextureByName(\"树熊\");\r\n\t break;\r\n\t default:\r\n\t console.error(\"未定义元素类型\");\r\n\t break;\r\n\t }\r\n\t return etex;\r\n\t };\r\n\t MapData.getRandEtype = function () {\r\n\t var eletypeArr = [ElementType.btiger, ElementType.gtiger, ElementType.monkey, ElementType.bird, ElementType.koala];\r\n\t var etype = eletypeArr[Math.floor(Math.random() * eletypeArr.length)];\r\n\t return etype;\r\n\t };\r\n\t MapData.initPoolEle = function () {\r\n\t console.error(\"初始化元素池\");\r\n\t var eletypes = [ElementType.btiger, ElementType.gtiger, ElementType.monkey, ElementType.bird, ElementType.koala];\r\n\t for (var i = 0; i < eletypes.length; i++) {\r\n\t var itype = eletypes[i];\r\n\t this.elePool[itype] = new Array();\r\n\t for (var a = 0; a < 10; a++) {\r\n\t var iele = new Element();\r\n\t iele.eimage.texture = this.getEtypeImgTex(itype);\r\n\t this.elePool[itype].push(iele);\r\n\t }\r\n\t }\r\n\t };\r\n\t MapData.getOneEle = function (type) {\r\n\t var ele;\r\n\t if (this.elePool[type]) {\r\n\t if (this.elePool[type].length > 0) {\r\n\t ele = this.elePool[type].shift();\r\n\t }\r\n\t }\r\n\t else {\r\n\t this.elePool[type] = new Array();\r\n\t }\r\n\t if (!ele) {\r\n\t console.error(\"创建了新的了\");\r\n\t ele = new Element();\r\n\t ele.eimage.texture = getTextureByName(this.getEtypeImgName(type));\r\n\t }\r\n\t ele.name = \"ele_\" + this.eleidx;\r\n\t this.eleidx += 1;\r\n\t ele.init(type);\r\n\t return ele;\r\n\t };\r\n\t MapData.recoverEle = function (ele, type) {\r\n\t this.elePool[type].push(ele);\r\n\t };\r\n\t MapData.getDistance = function (p1, p2) {\r\n\t var p1x = p1[0];\r\n\t var p1y = p1[1];\r\n\t var p2x = p2[0];\r\n\t var p2y = p2[1];\r\n\t var dis = Math.sqrt(Math.pow(p1x - p2x, 2) + Math.pow(p1y - p2y, 2));\r\n\t return dis;\r\n\t };\r\n\t MapData.itemsize = 129;\r\n\t MapData.paddingb = 10;\r\n\t MapData.paddingi = 5;\r\n\t MapData.row = 5;\r\n\t MapData.col = 5;\r\n\t MapData.posData = {};\r\n\t MapData.eleidx = 1;\r\n\t MapData.elePool = {};\r\n\t MapData.anispeed = 860;\r\n\t return MapData;\r\n\t}());\r\n\t//# sourceMappingURL=MapData.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.lattices = {};\r\n\t _this.eliminateArr = [];\r\n\t _this.selectArr = [];\r\n\t _this.conty = 140;\r\n\t _this.homex = 528;\r\n\t _this.homey = -40;\r\n\t _this.ination = false;\r\n\t _this.canation = true;\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 MapData.initPoolEle();\r\n\t this.selectimg = new engine.Image(getTextureByName(\"选中框\"));\r\n\t this.selectimg.mouseEnabled = false;\r\n\t var row = MapData.row;\r\n\t var col = MapData.col;\r\n\t this.homeimg = createSvga(\"房子动画\");\r\n\t this.addChild(this.homeimg);\r\n\t this.homeimg.x = this.homex;\r\n\t this.homeimg.y = -40;\r\n\t this.homeimg.stop();\r\n\t this.container = new engine.Container();\r\n\t this.addChild(this.container);\r\n\t this.container.y = this.conty;\r\n\t var maskimg = new engine.Graphics();\r\n\t this.container.addChild(maskimg);\r\n\t this.container.mask = maskimg;\r\n\t maskimg.moveTo(0, 0);\r\n\t maskimg.beginFill(0);\r\n\t maskimg.lineTo(681, 0);\r\n\t maskimg.lineTo(681, 679);\r\n\t maskimg.lineTo(0, 679);\r\n\t maskimg.lineTo(0, 0);\r\n\t maskimg.endFill();\r\n\t this.anicontainer = new engine.Container();\r\n\t this.addChild(this.anicontainer);\r\n\t this.anicontainer.mouseEnabled = false;\r\n\t this.anicontainer.mouseChildren = false;\r\n\t var map = new engine.Image(getTextureByName(\"底图\"));\r\n\t this.container.addChild(map);\r\n\t for (var r = 0; r < row; r++) {\r\n\t for (var c = 0; c < col; c++) {\r\n\t var rcpos = MapData.getRCPos(r, c);\r\n\t MapData.posData[r + \"_\" + c] = rcpos;\r\n\t }\r\n\t }\r\n\t this.tanix = this.homex + 146 / 2 - MapData.itemsize / 3;\r\n\t this.taniy = this.homey + 120 / 2;\r\n\t engine.globalEvent.addEventListener(GameEvent.SelectEle, this.selectele, this);\r\n\t this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);\r\n\t this.lastframeTime = Date.now();\r\n\t this.lastatime = Date.now();\r\n\t this.addEventListener(engine.Event.ENTER_FRAME, this.onUpdate, this);\r\n\t };\r\n\t GameView.prototype.playComp = function () {\r\n\t this.homeimg.stop(1);\r\n\t };\r\n\t GameView.prototype.init = function () {\r\n\t this.initContainer();\r\n\t };\r\n\t GameView.prototype.reset = function () {\r\n\t };\r\n\t GameView.prototype.start = function () {\r\n\t };\r\n\t GameView.prototype.onUpdate = function () {\r\n\t var ntime = Date.now();\r\n\t var passtime = ntime - this.lastframeTime;\r\n\t if (ntime - this.lastatime >= 5000 && !this.ination && this.canation && this.selectArr.length == 0) {\r\n\t this.attionEliShow();\r\n\t }\r\n\t if (this.homeimg) {\r\n\t var curframe = this.homeimg.currentFrame;\r\n\t if (curframe == this.homeimg.totalFrames) {\r\n\t this.homeimg.gotoAndStop(1);\r\n\t }\r\n\t }\r\n\t this.lastframeTime = ntime;\r\n\t };\r\n\t GameView.prototype.initContainer = function () {\r\n\t this.lattices = {};\r\n\t var testdata = [\r\n\t [1, 2, 5, 3, 4],\r\n\t [3, 1, 4, 4, 5],\r\n\t [2, 5, 3, 5, 1],\r\n\t [5, 4, 1, 2, 3],\r\n\t [4, 1, 3, 5, 2],\r\n\t ];\r\n\t for (var r = 0; r < testdata.length; r++) {\r\n\t var rdata = testdata[r];\r\n\t for (var c = 0; c < rdata.length; c++) {\r\n\t var rctype = rdata[c];\r\n\t var rcele = MapData.getOneEle(rctype);\r\n\t var rcpos = MapData.getRCPos(r, c);\r\n\t this.container.addChild(rcele);\r\n\t rcele.x = rcpos[0];\r\n\t rcele.y = rcpos[1];\r\n\t var rcidx = r + \"_\" + c;\r\n\t this.lattices[rcidx] = rcele.name;\r\n\t this.setLatticeEleRc(rcidx);\r\n\t }\r\n\t }\r\n\t this.checkEliminate();\r\n\t this.fall();\r\n\t };\r\n\t GameView.prototype.setLatticeEleRc = function (rcidx) {\r\n\t var rename = this.lattices[rcidx];\r\n\t var rcnode = this.container.getChildByName(rename);\r\n\t var er = Number(rcidx.split(\"_\")[0]);\r\n\t var ec = Number(rcidx.split(\"_\")[1]);\r\n\t rcnode.setrc(er, ec);\r\n\t };\r\n\t GameView.prototype.selectele = function (e) {\r\n\t var data = e.data;\r\n\t var sr = data.r;\r\n\t var sc = data.c;\r\n\t var sname = sr + \"_\" + sc;\r\n\t if (this.ination) {\r\n\t this.ination = false;\r\n\t this.lastatime = Date.now();\r\n\t var arrcidx1 = this.attiondata[0];\r\n\t var arrcidx2 = this.attiondata[1];\r\n\t var atname1 = this.lattices[arrcidx1];\r\n\t var atname2 = this.lattices[arrcidx2];\r\n\t var atnode1 = this.container.getChildByName(atname1);\r\n\t var atnode2 = this.container.getChildByName(atname2);\r\n\t var atpos1 = MapData.getRCPos(arrcidx1.split(\"_\")[0], arrcidx1.split(\"_\")[1]);\r\n\t var atpos2 = MapData.getRCPos(arrcidx2.split(\"_\")[0], arrcidx2.split(\"_\")[1]);\r\n\t engine.Tween.removeTweens(atnode1);\r\n\t engine.Tween.removeTweens(atnode2);\r\n\t atnode1.x = atpos1[0];\r\n\t atnode1.y = atpos1[1];\r\n\t atnode2.x = atpos2[0];\r\n\t atnode2.y = atpos2[1];\r\n\t }\r\n\t if (this.selectArr.length == 0) {\r\n\t this.selectArr.push(sname);\r\n\t }\r\n\t else if (this.selectArr.length == 1) {\r\n\t var aselect = this.selectArr[0];\r\n\t var asr = aselect.split(\"_\")[0];\r\n\t var asc = aselect.split(\"_\")[1];\r\n\t if ((sr == asr && Math.abs(sc - asc) == 1) || (sc == asc && Math.abs(sr - asr) == 1)) {\r\n\t this.selectArr.push(sname);\r\n\t }\r\n\t else {\r\n\t if (sr == asr && sc == asc) {\r\n\t this.selectArr = new Array();\r\n\t this.anicontainer.removeChild(this.selectimg);\r\n\t }\r\n\t else {\r\n\t this.selectArr[0] = sname;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (this.selectArr.length == 1) {\r\n\t this.setSelectShow();\r\n\t }\r\n\t else if (this.selectArr.length == 2) {\r\n\t this.changeElePos();\r\n\t }\r\n\t };\r\n\t GameView.prototype.setSelectShow = function () {\r\n\t var rcname = this.selectArr[0];\r\n\t var r = rcname.split(\"_\")[0];\r\n\t var c = rcname.split(\"_\")[1];\r\n\t var rcpos = MapData.getRCPos(r, c);\r\n\t this.anicontainer.addChild(this.selectimg);\r\n\t this.selectimg.x = rcpos[0];\r\n\t this.selectimg.y = rcpos[1] + this.conty;\r\n\t };\r\n\t GameView.prototype.changeElePos = function () {\r\n\t var _this = this;\r\n\t this.anicontainer.removeChild(this.selectimg);\r\n\t this.changeEnable(false);\r\n\t var sname1 = this.selectArr[0];\r\n\t var sname2 = this.selectArr[1];\r\n\t var sename1 = this.lattices[sname1];\r\n\t var sename2 = this.lattices[sname2];\r\n\t this.lattices[sname1] = sename2;\r\n\t this.lattices[sname2] = sename1;\r\n\t this.setLatticeEleRc(sname1);\r\n\t this.setLatticeEleRc(sname2);\r\n\t this.checkEliminate();\r\n\t var snode1 = this.container.getChildByName(sename1);\r\n\t var snode2 = this.container.getChildByName(sename2);\r\n\t var snode1x = snode1.x;\r\n\t var snode1y = snode1.y;\r\n\t var snode2x = snode2.x;\r\n\t var snode2y = snode2.y;\r\n\t var changetime = Math.ceil((MapData.itemsize / MapData.anispeed) * 2 * 1000);\r\n\t if (this.eliminateArr.length > 0) {\r\n\t engine.Tween.get(snode1).to({\r\n\t x: snode2x,\r\n\t y: snode2y\r\n\t }, changetime);\r\n\t engine.Tween.get(snode2).to({\r\n\t x: snode1x,\r\n\t y: snode1y\r\n\t }, changetime)\r\n\t .call(function () {\r\n\t _this.eliminate();\r\n\t });\r\n\t }\r\n\t else {\r\n\t engine.Tween.get(snode1).to({\r\n\t x: snode2x,\r\n\t y: snode2y\r\n\t }, changetime)\r\n\t .wait(100)\r\n\t .to({\r\n\t x: snode1x,\r\n\t y: snode1y\r\n\t }, changetime);\r\n\t engine.Tween.get(snode2).to({\r\n\t x: snode1x,\r\n\t y: snode1y\r\n\t }, changetime)\r\n\t .wait(100)\r\n\t .to({\r\n\t x: snode2x,\r\n\t y: snode2y\r\n\t }, changetime)\r\n\t .call(function () {\r\n\t _this.lattices[sname1] = sename1;\r\n\t _this.lattices[sname2] = sename2;\r\n\t _this.setLatticeEleRc(sname1);\r\n\t _this.setLatticeEleRc(sname2);\r\n\t _this.selectArr = new Array();\r\n\t _this.changeEnable(true);\r\n\t });\r\n\t }\r\n\t };\r\n\t GameView.prototype.eliminate = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var i, ielidata, ielidxname, ielitype, ieliname, ielinode, ielix, ieliy, ietype;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t for (i = 0; i < this.eliminateArr.length; i++) {\r\n\t ielidata = this.eliminateArr[i];\r\n\t ielidxname = ielidata.idxname;\r\n\t ielitype = ielidata.type;\r\n\t ieliname = this.lattices[ielidxname];\r\n\t ielinode = this.container.getChildByName(ieliname);\r\n\t ielix = ielinode.x;\r\n\t ieliy = ielinode.y;\r\n\t ietype = ielinode.type;\r\n\t this.container.removeChild(ielinode);\r\n\t MapData.recoverEle(ielinode, ietype);\r\n\t this.lattices[ielidxname] = \"empty\";\r\n\t this.goHomeAni(ielitype, ielix, ieliy);\r\n\t }\r\n\t return [4, new Promise(function (res) {\r\n\t setTimeout(function () {\r\n\t res();\r\n\t }, 400);\r\n\t })];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.fall();\r\n\t return [4, new Promise(function (res1) {\r\n\t setTimeout(function () {\r\n\t res1();\r\n\t }, 400);\r\n\t })];\r\n\t case 2:\r\n\t _a.sent();\r\n\t this.homeimg.play();\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.fall = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var fallData, fcutr, fc, r, c, idxname, elename, frcname, fetype, fele, cutr, fepos, fallPromise, _loop_1, this_1, f, isdiedata;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t fallData = new Array();\r\n\t fcutr = new Array();\r\n\t for (fc = 0; fc < MapData.col; fc++) {\r\n\t fcutr.push(-1);\r\n\t }\r\n\t for (r = MapData.row - 1; r > -1; r--) {\r\n\t for (c = MapData.col - 1; c > -1; c--) {\r\n\t idxname = r + \"_\" + c;\r\n\t elename = this.lattices[idxname];\r\n\t if (elename == \"empty\") {\r\n\t frcname = this.getFallRcEle(r, c);\r\n\t if (!frcname) {\r\n\t fetype = MapData.getRandEtype();\r\n\t fele = MapData.getOneEle(fetype);\r\n\t cutr = fcutr[c];\r\n\t fepos = MapData.getRCPos(cutr, c);\r\n\t fcutr[c] = cutr - 1;\r\n\t this.container.addChild(fele);\r\n\t fele.x = fepos[0];\r\n\t fele.y = fepos[1];\r\n\t frcname = fele.name;\r\n\t }\r\n\t this.lattices[idxname] = frcname;\r\n\t this.setLatticeEleRc(idxname);\r\n\t fallData.push({\r\n\t rcname: frcname,\r\n\t trow: r,\r\n\t tcol: c\r\n\t });\r\n\t }\r\n\t }\r\n\t }\r\n\t fallPromise = new Array();\r\n\t _loop_1 = function (f) {\r\n\t var fdata = fallData[f];\r\n\t var frcname = fdata.rcname;\r\n\t var ftrow = fdata.trow;\r\n\t var ftcol = fdata.tcol;\r\n\t var ftpos = MapData.getRCPos(ftrow, ftcol);\r\n\t var frcnode = this_1.container.getChildByName(frcname);\r\n\t var nepos = [frcnode.x, frcnode.y];\r\n\t var fdis = MapData.getDistance(ftpos, nepos);\r\n\t var ftime = Math.ceil((fdis / MapData.anispeed) * 1000);\r\n\t var ifallpromise = new Promise(function (res) {\r\n\t engine.Tween.get(frcnode)\r\n\t .to({\r\n\t x: ftpos[0],\r\n\t y: ftpos[1]\r\n\t }, ftime)\r\n\t .to({\r\n\t scaleY: 0.85\r\n\t }, 80)\r\n\t .to({\r\n\t scaleY: 1\r\n\t }, 80)\r\n\t .call(function () {\r\n\t res();\r\n\t });\r\n\t });\r\n\t fallPromise.push(ifallpromise);\r\n\t };\r\n\t this_1 = this;\r\n\t for (f = 0; f < fallData.length; f++) {\r\n\t _loop_1(f);\r\n\t }\r\n\t return [4, Promise.all(fallPromise)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.checkEliminate();\r\n\t if (this.eliminateArr.length > 0) {\r\n\t return [2, this.eliminate()];\r\n\t }\r\n\t else {\r\n\t this.selectArr = new Array();\r\n\t isdiedata = this.attionEliminate();\r\n\t if (isdiedata && isdiedata.length == 2) {\r\n\t this.changeEnable(true);\r\n\t }\r\n\t else {\r\n\t this.solveDieMap();\r\n\t }\r\n\t }\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.goHomeAni = function (ielitype, ielix, ieliy) {\r\n\t var aniele = MapData.getOneEle(ielitype);\r\n\t aniele.alpha = 0;\r\n\t var anix = ielix;\r\n\t var aniy = ieliy + this.conty;\r\n\t this.anicontainer.addChild(aniele);\r\n\t aniele.touch = false;\r\n\t aniele.x = anix;\r\n\t aniele.y = aniy;\r\n\t aniele.alpha = 1;\r\n\t var anidis = MapData.getDistance([this.tanix, this.taniy], [anix, aniy]);\r\n\t var anitime = Math.ceil((anidis / MapData.anispeed) * 1000);\r\n\t aniele.flyToHome(this.tanix, this.taniy, anitime);\r\n\t };\r\n\t GameView.prototype.changeEnable = function (v) {\r\n\t for (var key in this.lattices) {\r\n\t var kname = this.lattices[key];\r\n\t var ele = this.container.getChildByName(kname);\r\n\t ele.touch = v;\r\n\t }\r\n\t if (v) {\r\n\t this.lastatime = Date.now();\r\n\t }\r\n\t this.canation = v;\r\n\t };\r\n\t GameView.prototype.attionEliShow = function () {\r\n\t var attiondata = this.attionEliminate();\r\n\t if (attiondata && attiondata.length == 2) {\r\n\t this.ination = true;\r\n\t this.attiondata = [attiondata[0], attiondata[1]];\r\n\t var atname1 = this.lattices[attiondata[0]];\r\n\t var atname2 = this.lattices[attiondata[1]];\r\n\t var atnode1 = this.container.getChildByName(atname1);\r\n\t var atnode2 = this.container.getChildByName(atname2);\r\n\t var atx1 = atnode1.x;\r\n\t var aty1 = atnode1.y;\r\n\t var atx2 = atnode2.x;\r\n\t var aty2 = atnode2.y;\r\n\t var lerpnum = 0.1;\r\n\t var atpos1 = [(atx2 - atx1) * lerpnum + atx1, (aty2 - aty1) * lerpnum + aty1];\r\n\t var atpos2 = [(atx1 - atx2) * lerpnum + atx2, (aty1 - aty2) * lerpnum + aty2];\r\n\t engine.Tween.get(atnode1, {\r\n\t loop: true\r\n\t }).to({\r\n\t x: atpos1[0],\r\n\t y: atpos1[1]\r\n\t }, 500)\r\n\t .to({\r\n\t x: atx1,\r\n\t y: aty1\r\n\t }, 500);\r\n\t engine.Tween.get(atnode2, { loop: true })\r\n\t .to({\r\n\t x: atpos2[0],\r\n\t y: atpos2[1]\r\n\t }, 500)\r\n\t .to({\r\n\t x: atx2,\r\n\t y: aty2\r\n\t }, 500);\r\n\t }\r\n\t else {\r\n\t this.solveDieMap();\r\n\t }\r\n\t };\r\n\t GameView.prototype.solveDieMap = function () {\r\n\t this.changeEnable(false);\r\n\t var elearr = new Array();\r\n\t for (var key in this.lattices) {\r\n\t var keyval = this.lattices[key];\r\n\t elearr.push(keyval);\r\n\t }\r\n\t for (var key in this.lattices) {\r\n\t var changeval = elearr.splice(Math.floor(Math.random() * elearr.length), 1)[0];\r\n\t this.lattices[key] = changeval;\r\n\t }\r\n\t var isdiedata = this.attionEliminate();\r\n\t if (isdiedata && isdiedata.length == 2) {\r\n\t console.error(\"可以复活了,转移位置\");\r\n\t this.changeToFuHuoPos();\r\n\t }\r\n\t else {\r\n\t return this.solveDieMap();\r\n\t }\r\n\t };\r\n\t GameView.prototype.changeToFuHuoPos = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var prolist, key, keyval, keynode, keynodex, keynodey, tpos, ipro;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t prolist = new Array();\r\n\t for (key in this.lattices) {\r\n\t keyval = this.lattices[key];\r\n\t keynode = this.container.getChildByName(keyval);\r\n\t keynodex = keynode.x;\r\n\t keynodey = keynode.y;\r\n\t tpos = MapData.getRCPos(key.split(\"_\")[0], key.split(\"_\")[1]);\r\n\t ipro = keynode.changePos(tpos);\r\n\t prolist.push(ipro);\r\n\t this.setLatticeEleRc(key);\r\n\t }\r\n\t return [4, Promise.all(prolist)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.checkEliminate();\r\n\t if (this.eliminateArr.length > 0) {\r\n\t this.eliminate();\r\n\t }\r\n\t else {\r\n\t this.changeEnable(true);\r\n\t }\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.attionEliminate = function () {\r\n\t var attiondata;\r\n\t for (var r = MapData.row - 1; r > -1; r--) {\r\n\t if (attiondata && attiondata.length == 2) {\r\n\t break;\r\n\t }\r\n\t for (var c = MapData.col - 1; c > -1; c--) {\r\n\t var checktype = this.getEleTypeByRc(r, c);\r\n\t var edatarow = this.getEliminateRow(r, c);\r\n\t var edatacol = this.getEliminateCol(r, c);\r\n\t if (edatarow.length > 2 || edatacol.length > 2) ;\r\n\t if (edatarow.length == 2) {\r\n\t var releidx1 = edatarow[0];\r\n\t var releidx2 = edatarow[1];\r\n\t var relerow1 = Number(releidx1.split(\"_\")[0]);\r\n\t var relerow2 = Number(releidx2.split(\"_\")[0]);\r\n\t var relecol = Number(releidx1.split(\"_\")[1]);\r\n\t var downrow = relerow1 + 1;\r\n\t var uprow = relerow2 - 1;\r\n\t var rightcol = relecol + 1;\r\n\t var leftcol = relecol - 1;\r\n\t var uprow1 = relerow2 - 2;\r\n\t var downrow1 = relerow1 + 2;\r\n\t if (downrow < MapData.row) {\r\n\t if (rightcol < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [downrow + \"_\" + relecol, downrow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (leftcol > -1) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [downrow + \"_\" + relecol, downrow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (uprow > -1) {\r\n\t if (rightcol < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [uprow + \"_\" + relecol, uprow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (leftcol > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [uprow + \"_\" + relecol, uprow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (uprow1 > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow1, relecol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [uprow + \"_\" + relecol, uprow1 + \"_\" + relecol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (downrow1 < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(downrow1, relecol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [downrow1 + \"_\" + relecol, downrow + \"_\" + relecol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (edatacol.length == 2) {\r\n\t var releidx1 = edatacol[0];\r\n\t var releidx2 = edatacol[1];\r\n\t var relerow = Number(releidx1.split(\"_\")[0]);\r\n\t var relecol1 = Number(releidx1.split(\"_\")[1]);\r\n\t var relecol2 = Number(releidx2.split(\"_\")[1]);\r\n\t var rightcol = relecol1 + 1;\r\n\t var leftcol = relecol2 - 1;\r\n\t var uprow = relerow - 1;\r\n\t var downrow = relerow + 1;\r\n\t var rightcol1 = relecol1 + 2;\r\n\t var leftcol1 = relecol2 - 2;\r\n\t if (leftcol > -1) {\r\n\t if (uprow > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + leftcol, uprow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (downrow < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + leftcol, downrow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (rightcol < MapData.col) {\r\n\t if (uprow > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + rightcol, uprow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (downrow < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + rightcol, downrow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (rightcol1 < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(relerow, rightcol1);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + rightcol1, relerow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (leftcol1 > -1) {\r\n\t var nexttype = this.getEleTypeByRc(relerow, leftcol1);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + leftcol1, relerow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t var jianrow = this.getEliminateRowR(r, c);\r\n\t if (jianrow.length == 2) {\r\n\t var jianr = Number(jianrow[0].split(\"_\")[0]) - 1;\r\n\t var jianc = Number(jianrow[0].split(\"_\")[1]);\r\n\t var ljianc = jianc - 1;\r\n\t if (ljianc > -1) {\r\n\t var nexttype = this.getEleTypeByRc(jianr, ljianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [jianr + \"_\" + ljianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t var rjianc = jianc + 1;\r\n\t if (rjianc < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(jianr, rjianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [jianr + \"_\" + rjianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t var jiancol = this.getEliminateRowC(r, c);\r\n\t if (jiancol.length == 2) {\r\n\t var jianr = Number(jiancol[0].split(\"_\")[0]);\r\n\t var jianc = Number(jianrow[0].split(\"_\")[1]) - 1;\r\n\t var ujianr = jianr - 1;\r\n\t if (ujianr > -1) {\r\n\t var nexttype = this.getEleTypeByRc(ujianr, jianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [ujianr + \"_\" + jianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t var djianr = jianr + 1;\r\n\t if (djianr < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(djianr, jianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [djianr + \"_\" + jianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t return attiondata;\r\n\t };\r\n\t GameView.prototype.checkEliminate = function () {\r\n\t this.eliminateArr = new Array();\r\n\t for (var r = MapData.row - 1; r > -1; r--) {\r\n\t for (var c = MapData.col - 1; c > -1; c--) {\r\n\t var edata = this.getEliminate(r, c);\r\n\t if (edata) {\r\n\t var etype = edata.etype;\r\n\t var earr = edata.arr;\r\n\t this.checkAddEli(etype, earr);\r\n\t }\r\n\t }\r\n\t }\r\n\t };\r\n\t GameView.prototype.getEliminateRowR = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var jianrow = x - 2;\r\n\t var relearr = new Array();\r\n\t relearr.push(x + \"_\" + y);\r\n\t if (jianrow > -1) {\r\n\t var jiantype = this.getEleTypeByRc(jianrow, y);\r\n\t if (jiantype == checktype) {\r\n\t relearr.push(jianrow + \"_\" + y);\r\n\t }\r\n\t }\r\n\t return relearr;\r\n\t };\r\n\t GameView.prototype.getEliminateRowC = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var jiancol = y - 2;\r\n\t var relearr = new Array();\r\n\t relearr.push(x + \"_\" + y);\r\n\t if (jiancol > -1) {\r\n\t var jiantype = this.getEleTypeByRc(x, jiancol);\r\n\t if (jiantype == checktype) {\r\n\t relearr.push(x + \"_\" + jiancol);\r\n\t }\r\n\t }\r\n\t return relearr;\r\n\t };\r\n\t GameView.prototype.getEliminateRow = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var relearr = new Array();\r\n\t relearr.push(x + \"_\" + y);\r\n\t for (var r = x - 1; r > -1; r--) {\r\n\t var reletype = this.getEleTypeByRc(r, y);\r\n\t if (checktype == reletype) {\r\n\t relearr.push(r + \"_\" + y);\r\n\t }\r\n\t else {\r\n\t break;\r\n\t }\r\n\t }\r\n\t return relearr;\r\n\t };\r\n\t GameView.prototype.getEliminateCol = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var celearr = new Array();\r\n\t celearr.push(x + \"_\" + y);\r\n\t for (var c = y - 1; c > -1; c--) {\r\n\t var celetype = this.getEleTypeByRc(x, c);\r\n\t if (checktype == celetype) {\r\n\t celearr.push(x + \"_\" + c);\r\n\t }\r\n\t else {\r\n\t break;\r\n\t }\r\n\t }\r\n\t return celearr;\r\n\t };\r\n\t GameView.prototype.getEliminate = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var relearr = this.getEliminateRow(x, y);\r\n\t var celearr = this.getEliminateCol(x, y);\r\n\t var eliminatearr = new Array();\r\n\t if (relearr.length >= 3) {\r\n\t eliminatearr.push.apply(eliminatearr, relearr);\r\n\t }\r\n\t if (celearr.length >= 3) {\r\n\t eliminatearr.push.apply(eliminatearr, celearr);\r\n\t }\r\n\t if (eliminatearr.length > 0) {\r\n\t return {\r\n\t etype: checktype,\r\n\t arr: eliminatearr\r\n\t };\r\n\t }\r\n\t else {\r\n\t return false;\r\n\t }\r\n\t };\r\n\t GameView.prototype.getEleTypeByRc = function (r, c) {\r\n\t var rc = r + \"_\" + c;\r\n\t var elename = this.lattices[rc];\r\n\t var ele = this.container.getChildByName(elename);\r\n\t var eletype = ele.type;\r\n\t return eletype;\r\n\t };\r\n\t GameView.prototype.checkAddEli = function (etype, earr) {\r\n\t for (var e = 0; e < earr.length; e++) {\r\n\t var ename = earr[e];\r\n\t var needadd = true;\r\n\t for (var i = 0; i < this.eliminateArr.length; i++) {\r\n\t var ielidata = this.eliminateArr[i];\r\n\t var ielidxname = ielidata.idxname;\r\n\t if (ielidxname == ename) {\r\n\t needadd = false;\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (needadd) {\r\n\t this.eliminateArr.push({\r\n\t idxname: ename,\r\n\t type: etype\r\n\t });\r\n\t }\r\n\t }\r\n\t };\r\n\t GameView.prototype.getFallRcEle = function (r, c) {\r\n\t for (var fr = r - 1; fr > -1; fr--) {\r\n\t var frc = fr + \"_\" + c;\r\n\t var frcname = this.lattices[frc];\r\n\t if (frcname != \"empty\") {\r\n\t this.lattices[frc] = \"empty\";\r\n\t return frcname;\r\n\t }\r\n\t }\r\n\t return false;\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 _this._gameView = new GameView();\r\n\t _this.addChild(_this._gameView);\r\n\t engine.globalEvent.addEventListener('game-init', _this.init, _this);\r\n\t engine.globalEvent.addEventListener('game-reset', _this.reset, _this);\r\n\t engine.globalEvent.addEventListener('game-start', _this.start, _this);\r\n\t return _this;\r\n\t }\r\n\t GameWrapper.prototype.init = function () {\r\n\t this._gameView.init();\r\n\t };\r\n\t GameWrapper.prototype.reset = function () {\r\n\t this._gameView.reset();\r\n\t };\r\n\t GameWrapper.prototype.start = function () {\r\n\t this._gameView.start();\r\n\t };\r\n\t return GameWrapper;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameWrapper.js.map\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 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" "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.xiaoxiaole = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\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 createSvga(name, anchorName) {\r\n\t var inst = new svga.Svga();\r\n\t inst.source = 'asset://' + engine.getAssetByName(name).uuid;\r\n\t return inst;\r\n\t}\r\n\t//# sourceMappingURL=utils.js.map\n\n\tvar Element = (function (_super) {\r\n\t tslib.__extends(Element, _super);\r\n\t function Element() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.width = MapData.itemsize;\r\n\t _this.height = MapData.itemsize;\r\n\t _this.anchorX = MapData.itemsize / 2;\r\n\t _this.anchorY = MapData.itemsize;\r\n\t _this.eimage = new engine.Image();\r\n\t _this.addChild(_this.eimage);\r\n\t _this.touch = true;\r\n\t _this.addEventListener(engine.MouseEvent.CLICK, _this.selectele, _this);\r\n\t return _this;\r\n\t }\r\n\t Object.defineProperty(Element.prototype, \"touch\", {\r\n\t set: function (touch) {\r\n\t this.mouseEnabled = touch;\r\n\t this.mouseChildren = touch;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t Element.prototype.init = function (type) {\r\n\t this.scaleX = 1;\r\n\t this.scaleY = 1;\r\n\t this.type = type;\r\n\t var ename = MapData.getEtypeImgName(type);\r\n\t var imgwid = this.eimage.texture.width;\r\n\t var imghei = this.eimage.texture.height;\r\n\t this.eimage.x = (this.width - imgwid) / 2;\r\n\t this.eimage.y = (this.height - imghei) / 2;\r\n\t };\r\n\t Element.prototype.setrc = function (r, c) {\r\n\t this.inrow = r;\r\n\t this.incol = c;\r\n\t };\r\n\t Element.prototype.selectele = function (e) {\r\n\t engine.globalEvent.dispatchEvent(GameEvent.SelectEle, {\r\n\t r: this.inrow,\r\n\t c: this.incol\r\n\t });\r\n\t };\r\n\t Object.defineProperty(Element.prototype, \"factor\", {\r\n\t get: function () {\r\n\t return 0;\r\n\t },\r\n\t set: function (value) {\r\n\t this.x = (1 - value) * (1 - value) * this.p1x + 2 * value * (1 - value) * this.c1x + value * value * this.p2x;\r\n\t this.y = (1 - value) * (1 - value) * this.p1y + 2 * value * (1 - value) * this.c1y + value * value * this.p2y;\r\n\t var mscale = (1 - value) * (1 - value) * 1 + 2 * value * (1 - value) * 0.6 + value * value * 0.35;\r\n\t this.scaleX = mscale;\r\n\t this.scaleY = mscale;\r\n\t },\r\n\t enumerable: true,\r\n\t configurable: true\r\n\t });\r\n\t Element.prototype.flyToHome = function (tx, ty, time) {\r\n\t var _this = this;\r\n\t this.p1x = this.x;\r\n\t this.p1y = this.y + 20;\r\n\t this.c1x = (this.p1x - tx) / 4 + tx;\r\n\t this.c1y = ty;\r\n\t this.p2x = tx;\r\n\t this.p2y = ty;\r\n\t engine.Tween.removeTweens(this);\r\n\t engine.Tween.get(this).to({\r\n\t scaleX: 1.1,\r\n\t scaleY: 1.1\r\n\t }, 200)\r\n\t .to({\r\n\t scaleX: 1.1,\r\n\t scaleY: 0.88\r\n\t }, 100)\r\n\t .to({\r\n\t scaleX: 0.98,\r\n\t scaleY: 0.98,\r\n\t y: this.y + 20\r\n\t }, 100)\r\n\t .call(function () {\r\n\t _this.factor = 0;\r\n\t engine.Tween.get(_this).to({\r\n\t factor: 1\r\n\t }, 450)\r\n\t .call(function () {\r\n\t var nodeparent = _this.parent;\r\n\t nodeparent && nodeparent.removeChild(_this);\r\n\t MapData.recoverEle(_this, _this.type);\r\n\t });\r\n\t });\r\n\t };\r\n\t Element.prototype.changePos = function (tpos) {\r\n\t var _this = this;\r\n\t var nx = this.x;\r\n\t var ny = this.y;\r\n\t var tx = tpos[0];\r\n\t var ty = tpos[1];\r\n\t var dis = MapData.getDistance([nx, ny], tpos);\r\n\t var time = Math.ceil(dis / MapData.anispeed * 1000);\r\n\t engine.Tween.removeTweens(this);\r\n\t var pro = new Promise(function (res) {\r\n\t engine.Tween.get(_this, { loop: false }).to({\r\n\t x: tx,\r\n\t y: ty\r\n\t }, time)\r\n\t .call(function () {\r\n\t console.log(\"单个移动完毕\");\r\n\t res();\r\n\t });\r\n\t });\r\n\t return pro;\r\n\t };\r\n\t return Element;\r\n\t}(engine.Container));\n\n\tvar ElementType;\r\n\t(function (ElementType) {\r\n\t ElementType[ElementType[\"btiger\"] = 1] = \"btiger\";\r\n\t ElementType[ElementType[\"gtiger\"] = 2] = \"gtiger\";\r\n\t ElementType[ElementType[\"monkey\"] = 3] = \"monkey\";\r\n\t ElementType[ElementType[\"bird\"] = 4] = \"bird\";\r\n\t ElementType[ElementType[\"koala\"] = 5] = \"koala\";\r\n\t})(ElementType || (ElementType = {}));\r\n\tvar GameEvent;\r\n\t(function (GameEvent) {\r\n\t GameEvent[\"SelectEle\"] = \"SelectEle\";\r\n\t})(GameEvent || (GameEvent = {}));\r\n\tvar MapData = (function () {\r\n\t function MapData() {\r\n\t }\r\n\t MapData.getRy = function (r) {\r\n\t return this.paddingb + r * (this.itemsize + this.paddingi);\r\n\t };\r\n\t MapData.getCx = function (c) {\r\n\t return this.paddingb + c * (this.itemsize + this.paddingi);\r\n\t };\r\n\t MapData.getRCPos = function (r, c) {\r\n\t var x = this.getCx(c);\r\n\t var y = this.getRy(r);\r\n\t return [x, y];\r\n\t };\r\n\t MapData.adaptElePos = function (pos, wid, hei) {\r\n\t var x = pos[0] + (this.itemsize - wid) / 2;\r\n\t var y = pos[1] + (this.itemsize - hei) / 2;\r\n\t return [x, y];\r\n\t };\r\n\t MapData.getEtypeImgName = function (type) {\r\n\t var ename;\r\n\t switch (type) {\r\n\t case ElementType.btiger:\r\n\t ename = \"白虎\";\r\n\t break;\r\n\t case ElementType.gtiger:\r\n\t ename = \"雌虎\";\r\n\t break;\r\n\t case ElementType.monkey:\r\n\t ename = \"猴子\";\r\n\t break;\r\n\t case ElementType.bird:\r\n\t ename = \"\";\r\n\t break;\r\n\t case ElementType.koala:\r\n\t ename = \"树熊\";\r\n\t break;\r\n\t default:\r\n\t console.error(\"未定义元素类型\");\r\n\t break;\r\n\t }\r\n\t return ename;\r\n\t };\r\n\t MapData.getEtypeImgTex = function (type) {\r\n\t var etex;\r\n\t switch (type) {\r\n\t case ElementType.btiger:\r\n\t etex = this.btigerTex || getTextureByName(\"白虎\");\r\n\t break;\r\n\t case ElementType.gtiger:\r\n\t etex = this.gtigerTex || getTextureByName(\"雌虎\");\r\n\t break;\r\n\t case ElementType.monkey:\r\n\t etex = this.monkeyTex || getTextureByName(\"猴子\");\r\n\t break;\r\n\t case ElementType.bird:\r\n\t etex = this.birdTex || getTextureByName(\"\");\r\n\t break;\r\n\t case ElementType.koala:\r\n\t etex = this.koalaTex || getTextureByName(\"树熊\");\r\n\t break;\r\n\t default:\r\n\t console.error(\"未定义元素类型\");\r\n\t break;\r\n\t }\r\n\t return etex;\r\n\t };\r\n\t MapData.getRandEtype = function () {\r\n\t var eletypeArr = [ElementType.btiger, ElementType.gtiger, ElementType.monkey, ElementType.bird, ElementType.koala];\r\n\t var etype = eletypeArr[Math.floor(Math.random() * eletypeArr.length)];\r\n\t return etype;\r\n\t };\r\n\t MapData.initPoolEle = function () {\r\n\t console.error(\"初始化元素池\");\r\n\t var eletypes = [ElementType.btiger, ElementType.gtiger, ElementType.monkey, ElementType.bird, ElementType.koala];\r\n\t for (var i = 0; i < eletypes.length; i++) {\r\n\t var itype = eletypes[i];\r\n\t this.elePool[itype] = new Array();\r\n\t for (var a = 0; a < 10; a++) {\r\n\t var iele = new Element();\r\n\t iele.eimage.texture = this.getEtypeImgTex(itype);\r\n\t this.elePool[itype].push(iele);\r\n\t }\r\n\t }\r\n\t };\r\n\t MapData.getOneEle = function (type) {\r\n\t var ele;\r\n\t if (this.elePool[type]) {\r\n\t if (this.elePool[type].length > 0) {\r\n\t ele = this.elePool[type].shift();\r\n\t }\r\n\t }\r\n\t else {\r\n\t this.elePool[type] = new Array();\r\n\t }\r\n\t if (!ele) {\r\n\t console.error(\"创建了新的了\");\r\n\t ele = new Element();\r\n\t ele.eimage.texture = getTextureByName(this.getEtypeImgName(type));\r\n\t }\r\n\t ele.name = \"ele_\" + this.eleidx;\r\n\t this.eleidx += 1;\r\n\t ele.init(type);\r\n\t return ele;\r\n\t };\r\n\t MapData.recoverEle = function (ele, type) {\r\n\t this.elePool[type].push(ele);\r\n\t };\r\n\t MapData.getDistance = function (p1, p2) {\r\n\t var p1x = p1[0];\r\n\t var p1y = p1[1];\r\n\t var p2x = p2[0];\r\n\t var p2y = p2[1];\r\n\t var dis = Math.sqrt(Math.pow(p1x - p2x, 2) + Math.pow(p1y - p2y, 2));\r\n\t return dis;\r\n\t };\r\n\t MapData.itemsize = 129;\r\n\t MapData.paddingb = 10;\r\n\t MapData.paddingi = 5;\r\n\t MapData.row = 5;\r\n\t MapData.col = 5;\r\n\t MapData.posData = {};\r\n\t MapData.eleidx = 1;\r\n\t MapData.elePool = {};\r\n\t MapData.anispeed = 1000;\r\n\t return MapData;\r\n\t}());\r\n\t//# sourceMappingURL=MapData.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.lattices = {};\r\n\t _this.eliminateArr = [];\r\n\t _this.selectArr = [];\r\n\t _this.conty = 140;\r\n\t _this.homex = 562;\r\n\t _this.homey = -20;\r\n\t _this.ination = false;\r\n\t _this.canation = true;\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 MapData.initPoolEle();\r\n\t this.selectimg = new engine.Image(getTextureByName(\"选中框\"));\r\n\t this.selectimg.mouseEnabled = false;\r\n\t var row = MapData.row;\r\n\t var col = MapData.col;\r\n\t this.homeimg = createSvga(\"房子动画\");\r\n\t this.addChild(this.homeimg);\r\n\t this.homeimg.x = this.homex;\r\n\t this.homeimg.y = this.homey;\r\n\t this.homeimg.stop();\r\n\t console.log(\"房子动画\", this.homeimg);\r\n\t this.container = new engine.Container();\r\n\t this.addChild(this.container);\r\n\t this.container.y = this.conty;\r\n\t var maskimg = new engine.Graphics();\r\n\t this.container.addChild(maskimg);\r\n\t this.container.mask = maskimg;\r\n\t maskimg.moveTo(0, 0);\r\n\t maskimg.beginFill(0);\r\n\t maskimg.lineTo(681, 0);\r\n\t maskimg.lineTo(681, 679);\r\n\t maskimg.lineTo(0, 679);\r\n\t maskimg.lineTo(0, 0);\r\n\t maskimg.endFill();\r\n\t this.anicontainer = new engine.Container();\r\n\t this.addChild(this.anicontainer);\r\n\t this.anicontainer.mouseEnabled = false;\r\n\t this.anicontainer.mouseChildren = false;\r\n\t var map = new engine.Image(getTextureByName(\"底图\"));\r\n\t this.container.addChild(map);\r\n\t for (var r = 0; r < row; r++) {\r\n\t for (var c = 0; c < col; c++) {\r\n\t var rcpos = MapData.getRCPos(r, c);\r\n\t MapData.posData[r + \"_\" + c] = rcpos;\r\n\t }\r\n\t }\r\n\t this.tanix = this.homex + 30;\r\n\t this.taniy = this.homey;\r\n\t engine.globalEvent.addEventListener(GameEvent.SelectEle, this.selectele, this);\r\n\t this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);\r\n\t this.lastframeTime = Date.now();\r\n\t this.lastatime = Date.now();\r\n\t this.addEventListener(engine.Event.ENTER_FRAME, this.onUpdate, this);\r\n\t };\r\n\t GameView.prototype.playComp = function () {\r\n\t this.homeimg.stop(1);\r\n\t };\r\n\t GameView.prototype.init = function () {\r\n\t this.initContainer();\r\n\t };\r\n\t GameView.prototype.reset = function () {\r\n\t };\r\n\t GameView.prototype.start = function () {\r\n\t };\r\n\t GameView.prototype.onUpdate = function () {\r\n\t var ntime = Date.now();\r\n\t var passtime = ntime - this.lastframeTime;\r\n\t if (ntime - this.lastatime >= 5000 && !this.ination && this.canation && this.selectArr.length == 0) {\r\n\t this.attionEliShow();\r\n\t }\r\n\t if (this.homeimg) {\r\n\t var curframe = this.homeimg.currentFrame;\r\n\t if (curframe == this.homeimg.totalFrames) {\r\n\t this.homeimg.gotoAndStop(1);\r\n\t }\r\n\t }\r\n\t this.lastframeTime = ntime;\r\n\t };\r\n\t GameView.prototype.initContainer = function () {\r\n\t this.lattices = {};\r\n\t var testdata = [\r\n\t [1, 2, 5, 3, 4],\r\n\t [3, 1, 4, 4, 5],\r\n\t [2, 5, 3, 5, 1],\r\n\t [5, 4, 1, 2, 3],\r\n\t [4, 1, 3, 5, 2],\r\n\t ];\r\n\t for (var r = 0; r < testdata.length; r++) {\r\n\t var rdata = testdata[r];\r\n\t for (var c = 0; c < rdata.length; c++) {\r\n\t var rctype = rdata[c];\r\n\t var rcele = MapData.getOneEle(rctype);\r\n\t var rcpos = MapData.getRCPos(r, c);\r\n\t this.container.addChild(rcele);\r\n\t rcele.x = rcpos[0];\r\n\t rcele.y = rcpos[1];\r\n\t var rcidx = r + \"_\" + c;\r\n\t this.lattices[rcidx] = rcele.name;\r\n\t this.setLatticeEleRc(rcidx);\r\n\t }\r\n\t }\r\n\t this.checkEliminate();\r\n\t this.fall();\r\n\t };\r\n\t GameView.prototype.setLatticeEleRc = function (rcidx) {\r\n\t var rename = this.lattices[rcidx];\r\n\t var rcnode = this.container.getChildByName(rename);\r\n\t var er = Number(rcidx.split(\"_\")[0]);\r\n\t var ec = Number(rcidx.split(\"_\")[1]);\r\n\t rcnode.setrc(er, ec);\r\n\t };\r\n\t GameView.prototype.selectele = function (e) {\r\n\t var data = e.data;\r\n\t var sr = data.r;\r\n\t var sc = data.c;\r\n\t var sname = sr + \"_\" + sc;\r\n\t if (this.ination) {\r\n\t this.ination = false;\r\n\t this.lastatime = Date.now();\r\n\t var arrcidx1 = this.attiondata[0];\r\n\t var arrcidx2 = this.attiondata[1];\r\n\t var atname1 = this.lattices[arrcidx1];\r\n\t var atname2 = this.lattices[arrcidx2];\r\n\t var atnode1 = this.container.getChildByName(atname1);\r\n\t var atnode2 = this.container.getChildByName(atname2);\r\n\t var atpos1 = MapData.getRCPos(arrcidx1.split(\"_\")[0], arrcidx1.split(\"_\")[1]);\r\n\t var atpos2 = MapData.getRCPos(arrcidx2.split(\"_\")[0], arrcidx2.split(\"_\")[1]);\r\n\t engine.Tween.removeTweens(atnode1);\r\n\t engine.Tween.removeTweens(atnode2);\r\n\t atnode1.x = atpos1[0];\r\n\t atnode1.y = atpos1[1];\r\n\t atnode2.x = atpos2[0];\r\n\t atnode2.y = atpos2[1];\r\n\t }\r\n\t if (this.selectArr.length == 0) {\r\n\t this.selectArr.push(sname);\r\n\t }\r\n\t else if (this.selectArr.length == 1) {\r\n\t var aselect = this.selectArr[0];\r\n\t var asr = aselect.split(\"_\")[0];\r\n\t var asc = aselect.split(\"_\")[1];\r\n\t if ((sr == asr && Math.abs(sc - asc) == 1) || (sc == asc && Math.abs(sr - asr) == 1)) {\r\n\t this.selectArr.push(sname);\r\n\t }\r\n\t else {\r\n\t if (sr == asr && sc == asc) {\r\n\t this.selectArr = new Array();\r\n\t this.anicontainer.removeChild(this.selectimg);\r\n\t }\r\n\t else {\r\n\t this.selectArr[0] = sname;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (this.selectArr.length == 1) {\r\n\t this.setSelectShow();\r\n\t }\r\n\t else if (this.selectArr.length == 2) {\r\n\t this.changeElePos();\r\n\t }\r\n\t };\r\n\t GameView.prototype.setSelectShow = function () {\r\n\t var rcname = this.selectArr[0];\r\n\t var r = rcname.split(\"_\")[0];\r\n\t var c = rcname.split(\"_\")[1];\r\n\t var rcpos = MapData.getRCPos(r, c);\r\n\t this.anicontainer.addChild(this.selectimg);\r\n\t this.selectimg.x = rcpos[0];\r\n\t this.selectimg.y = rcpos[1] + this.conty;\r\n\t };\r\n\t GameView.prototype.changeElePos = function () {\r\n\t var _this = this;\r\n\t this.anicontainer.removeChild(this.selectimg);\r\n\t this.changeEnable(false);\r\n\t var sname1 = this.selectArr[0];\r\n\t var sname2 = this.selectArr[1];\r\n\t var sename1 = this.lattices[sname1];\r\n\t var sename2 = this.lattices[sname2];\r\n\t this.lattices[sname1] = sename2;\r\n\t this.lattices[sname2] = sename1;\r\n\t this.setLatticeEleRc(sname1);\r\n\t this.setLatticeEleRc(sname2);\r\n\t this.checkEliminate();\r\n\t var snode1 = this.container.getChildByName(sename1);\r\n\t var snode2 = this.container.getChildByName(sename2);\r\n\t var snode1x = snode1.x;\r\n\t var snode1y = snode1.y;\r\n\t var snode2x = snode2.x;\r\n\t var snode2y = snode2.y;\r\n\t var changetime = Math.ceil((MapData.itemsize / MapData.anispeed) * 2 * 1000);\r\n\t engine.Tween.removeTweens(snode1);\r\n\t engine.Tween.removeTweens(snode2);\r\n\t if (this.eliminateArr.length > 0) {\r\n\t engine.Tween.get(snode1).to({\r\n\t x: snode2x,\r\n\t y: snode2y\r\n\t }, changetime);\r\n\t engine.Tween.get(snode2).to({\r\n\t x: snode1x,\r\n\t y: snode1y\r\n\t }, changetime)\r\n\t .call(function () {\r\n\t _this.eliminate();\r\n\t });\r\n\t }\r\n\t else {\r\n\t engine.Tween.get(snode1).to({\r\n\t x: snode2x,\r\n\t y: snode2y\r\n\t }, changetime)\r\n\t .wait(100)\r\n\t .to({\r\n\t x: snode1x,\r\n\t y: snode1y\r\n\t }, changetime);\r\n\t engine.Tween.get(snode2).to({\r\n\t x: snode1x,\r\n\t y: snode1y\r\n\t }, changetime)\r\n\t .wait(100)\r\n\t .to({\r\n\t x: snode2x,\r\n\t y: snode2y\r\n\t }, changetime)\r\n\t .call(function () {\r\n\t _this.lattices[sname1] = sename1;\r\n\t _this.lattices[sname2] = sename2;\r\n\t _this.setLatticeEleRc(sname1);\r\n\t _this.setLatticeEleRc(sname2);\r\n\t _this.selectArr = new Array();\r\n\t _this.changeEnable(true);\r\n\t });\r\n\t }\r\n\t };\r\n\t GameView.prototype.eliminate = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var i, ielidata, ielidxname, ielitype, ieliname, ielinode, ielix, ieliy, ietype;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t for (i = 0; i < this.eliminateArr.length; i++) {\r\n\t ielidata = this.eliminateArr[i];\r\n\t ielidxname = ielidata.idxname;\r\n\t ielitype = ielidata.type;\r\n\t ieliname = this.lattices[ielidxname];\r\n\t ielinode = this.container.getChildByName(ieliname);\r\n\t ielix = ielinode.x;\r\n\t ieliy = ielinode.y;\r\n\t ietype = ielinode.type;\r\n\t this.container.removeChild(ielinode);\r\n\t MapData.recoverEle(ielinode, ietype);\r\n\t this.lattices[ielidxname] = \"empty\";\r\n\t this.goHomeAni(ielitype, ielix, ieliy);\r\n\t }\r\n\t return [4, new Promise(function (res) {\r\n\t setTimeout(function () {\r\n\t res();\r\n\t }, 400);\r\n\t })];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.fall();\r\n\t return [4, new Promise(function (res1) {\r\n\t setTimeout(function () {\r\n\t res1();\r\n\t }, 500);\r\n\t })];\r\n\t case 2:\r\n\t _a.sent();\r\n\t this.homeimg.play(1, 1);\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.fall = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var fallData, fcutr, fc, r, c, idxname, elename, frcname, fetype, fele, cutr, fepos, fallPromise, _loop_1, this_1, f, isdiedata;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t fallData = new Array();\r\n\t fcutr = new Array();\r\n\t for (fc = 0; fc < MapData.col; fc++) {\r\n\t fcutr.push(-1);\r\n\t }\r\n\t for (r = MapData.row - 1; r > -1; r--) {\r\n\t for (c = MapData.col - 1; c > -1; c--) {\r\n\t idxname = r + \"_\" + c;\r\n\t elename = this.lattices[idxname];\r\n\t if (elename == \"empty\") {\r\n\t frcname = this.getFallRcEle(r, c);\r\n\t if (!frcname) {\r\n\t fetype = MapData.getRandEtype();\r\n\t fele = MapData.getOneEle(fetype);\r\n\t cutr = fcutr[c];\r\n\t fepos = MapData.getRCPos(cutr, c);\r\n\t fcutr[c] = cutr - 1;\r\n\t this.container.addChild(fele);\r\n\t fele.x = fepos[0];\r\n\t fele.y = fepos[1];\r\n\t frcname = fele.name;\r\n\t }\r\n\t this.lattices[idxname] = frcname;\r\n\t this.setLatticeEleRc(idxname);\r\n\t fallData.push({\r\n\t rcname: frcname,\r\n\t trow: r,\r\n\t tcol: c\r\n\t });\r\n\t }\r\n\t }\r\n\t }\r\n\t fallPromise = new Array();\r\n\t _loop_1 = function (f) {\r\n\t var fdata = fallData[f];\r\n\t var frcname = fdata.rcname;\r\n\t var ftrow = fdata.trow;\r\n\t var ftcol = fdata.tcol;\r\n\t var ftpos = MapData.getRCPos(ftrow, ftcol);\r\n\t var frcnode = this_1.container.getChildByName(frcname);\r\n\t var nepos = [frcnode.x, frcnode.y];\r\n\t var fdis = MapData.getDistance(ftpos, nepos);\r\n\t var ftime = Math.ceil((fdis / MapData.anispeed) * 1000);\r\n\t engine.Tween.removeTweens(frcnode);\r\n\t var ifallpromise = new Promise(function (res) {\r\n\t engine.Tween.get(frcnode)\r\n\t .to({\r\n\t x: ftpos[0],\r\n\t y: ftpos[1]\r\n\t }, ftime)\r\n\t .to({\r\n\t scaleY: 0.85\r\n\t }, 80)\r\n\t .to({\r\n\t scaleY: 1\r\n\t }, 80)\r\n\t .call(function () {\r\n\t res();\r\n\t });\r\n\t });\r\n\t fallPromise.push(ifallpromise);\r\n\t };\r\n\t this_1 = this;\r\n\t for (f = 0; f < fallData.length; f++) {\r\n\t _loop_1(f);\r\n\t }\r\n\t return [4, Promise.all(fallPromise)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.checkEliminate();\r\n\t if (this.eliminateArr.length > 0) {\r\n\t return [2, this.eliminate()];\r\n\t }\r\n\t else {\r\n\t this.selectArr = new Array();\r\n\t isdiedata = this.attionEliminate();\r\n\t if (isdiedata && isdiedata.length == 2) {\r\n\t this.changeEnable(true);\r\n\t }\r\n\t else {\r\n\t this.solveDieMap();\r\n\t }\r\n\t }\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.goHomeAni = function (ielitype, ielix, ieliy) {\r\n\t var aniele = MapData.getOneEle(ielitype);\r\n\t aniele.alpha = 0;\r\n\t var anix = ielix;\r\n\t var aniy = ieliy + this.conty;\r\n\t this.anicontainer.addChild(aniele);\r\n\t aniele.touch = false;\r\n\t aniele.x = anix;\r\n\t aniele.y = aniy;\r\n\t aniele.alpha = 1;\r\n\t var anidis = MapData.getDistance([this.tanix, this.taniy], [anix, aniy]);\r\n\t var anitime = Math.ceil((anidis / MapData.anispeed) * 1000);\r\n\t aniele.flyToHome(this.tanix, this.taniy, anitime);\r\n\t };\r\n\t GameView.prototype.changeEnable = function (v) {\r\n\t for (var key in this.lattices) {\r\n\t var kname = this.lattices[key];\r\n\t var ele = this.container.getChildByName(kname);\r\n\t ele.touch = v;\r\n\t }\r\n\t if (v) {\r\n\t this.lastatime = Date.now();\r\n\t }\r\n\t this.canation = v;\r\n\t };\r\n\t GameView.prototype.attionEliShow = function () {\r\n\t var attiondata = this.attionEliminate();\r\n\t if (attiondata && attiondata.length == 2) {\r\n\t this.ination = true;\r\n\t this.attiondata = [attiondata[0], attiondata[1]];\r\n\t var atname1 = this.lattices[attiondata[0]];\r\n\t var atname2 = this.lattices[attiondata[1]];\r\n\t var atnode1 = this.container.getChildByName(atname1);\r\n\t var atnode2 = this.container.getChildByName(atname2);\r\n\t var atx1 = atnode1.x;\r\n\t var aty1 = atnode1.y;\r\n\t var atx2 = atnode2.x;\r\n\t var aty2 = atnode2.y;\r\n\t var lerpnum = 0.1;\r\n\t var atpos1 = [(atx2 - atx1) * lerpnum + atx1, (aty2 - aty1) * lerpnum + aty1];\r\n\t var atpos2 = [(atx1 - atx2) * lerpnum + atx2, (aty1 - aty2) * lerpnum + aty2];\r\n\t engine.Tween.removeTweens(atnode1);\r\n\t engine.Tween.removeTweens(atnode2);\r\n\t engine.Tween.get(atnode1, {\r\n\t loop: true\r\n\t }).to({\r\n\t x: atpos1[0],\r\n\t y: atpos1[1]\r\n\t }, 500)\r\n\t .to({\r\n\t x: atx1,\r\n\t y: aty1\r\n\t }, 500);\r\n\t engine.Tween.get(atnode2, { loop: true })\r\n\t .to({\r\n\t x: atpos2[0],\r\n\t y: atpos2[1]\r\n\t }, 500)\r\n\t .to({\r\n\t x: atx2,\r\n\t y: aty2\r\n\t }, 500);\r\n\t }\r\n\t else {\r\n\t this.solveDieMap();\r\n\t }\r\n\t };\r\n\t GameView.prototype.solveDieMap = function () {\r\n\t this.changeEnable(false);\r\n\t var elearr = new Array();\r\n\t for (var key in this.lattices) {\r\n\t var keyval = this.lattices[key];\r\n\t elearr.push(keyval);\r\n\t }\r\n\t for (var key in this.lattices) {\r\n\t var changeval = elearr.splice(Math.floor(Math.random() * elearr.length), 1)[0];\r\n\t this.lattices[key] = changeval;\r\n\t }\r\n\t var isdiedata = this.attionEliminate();\r\n\t if (isdiedata && isdiedata.length == 2) {\r\n\t console.error(\"可以复活了,转移位置\");\r\n\t this.changeToFuHuoPos();\r\n\t }\r\n\t else {\r\n\t return this.solveDieMap();\r\n\t }\r\n\t };\r\n\t GameView.prototype.changeToFuHuoPos = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var prolist, key, keyval, keynode, keynodex, keynodey, tpos, ipro;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t prolist = new Array();\r\n\t for (key in this.lattices) {\r\n\t keyval = this.lattices[key];\r\n\t keynode = this.container.getChildByName(keyval);\r\n\t keynodex = keynode.x;\r\n\t keynodey = keynode.y;\r\n\t tpos = MapData.getRCPos(key.split(\"_\")[0], key.split(\"_\")[1]);\r\n\t ipro = keynode.changePos(tpos);\r\n\t prolist.push(ipro);\r\n\t this.setLatticeEleRc(key);\r\n\t }\r\n\t return [4, Promise.all(prolist)];\r\n\t case 1:\r\n\t _a.sent();\r\n\t this.checkEliminate();\r\n\t if (this.eliminateArr.length > 0) {\r\n\t this.eliminate();\r\n\t }\r\n\t else {\r\n\t this.changeEnable(true);\r\n\t }\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.attionEliminate = function () {\r\n\t var attiondata;\r\n\t for (var r = MapData.row - 1; r > -1; r--) {\r\n\t if (attiondata && attiondata.length == 2) {\r\n\t break;\r\n\t }\r\n\t for (var c = MapData.col - 1; c > -1; c--) {\r\n\t var checktype = this.getEleTypeByRc(r, c);\r\n\t var edatarow = this.getEliminateRow(r, c);\r\n\t var edatacol = this.getEliminateCol(r, c);\r\n\t if (edatarow.length > 2 || edatacol.length > 2) ;\r\n\t if (edatarow.length == 2) {\r\n\t var releidx1 = edatarow[0];\r\n\t var releidx2 = edatarow[1];\r\n\t var relerow1 = Number(releidx1.split(\"_\")[0]);\r\n\t var relerow2 = Number(releidx2.split(\"_\")[0]);\r\n\t var relecol = Number(releidx1.split(\"_\")[1]);\r\n\t var downrow = relerow1 + 1;\r\n\t var uprow = relerow2 - 1;\r\n\t var rightcol = relecol + 1;\r\n\t var leftcol = relecol - 1;\r\n\t var uprow1 = relerow2 - 2;\r\n\t var downrow1 = relerow1 + 2;\r\n\t if (downrow < MapData.row) {\r\n\t if (rightcol < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [downrow + \"_\" + relecol, downrow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (leftcol > -1) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [downrow + \"_\" + relecol, downrow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (uprow > -1) {\r\n\t if (rightcol < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [uprow + \"_\" + relecol, uprow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (leftcol > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [uprow + \"_\" + relecol, uprow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (uprow1 > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow1, relecol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [uprow + \"_\" + relecol, uprow1 + \"_\" + relecol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (downrow1 < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(downrow1, relecol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [downrow1 + \"_\" + relecol, downrow + \"_\" + relecol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (edatacol.length == 2) {\r\n\t var releidx1 = edatacol[0];\r\n\t var releidx2 = edatacol[1];\r\n\t var relerow = Number(releidx1.split(\"_\")[0]);\r\n\t var relecol1 = Number(releidx1.split(\"_\")[1]);\r\n\t var relecol2 = Number(releidx2.split(\"_\")[1]);\r\n\t var rightcol = relecol1 + 1;\r\n\t var leftcol = relecol2 - 1;\r\n\t var uprow = relerow - 1;\r\n\t var downrow = relerow + 1;\r\n\t var rightcol1 = relecol1 + 2;\r\n\t var leftcol1 = relecol2 - 2;\r\n\t if (leftcol > -1) {\r\n\t if (uprow > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + leftcol, uprow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (downrow < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, leftcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + leftcol, downrow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (rightcol < MapData.col) {\r\n\t if (uprow > -1) {\r\n\t var nexttype = this.getEleTypeByRc(uprow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + rightcol, uprow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (downrow < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(downrow, rightcol);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + rightcol, downrow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t if (rightcol1 < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(relerow, rightcol1);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + rightcol1, relerow + \"_\" + rightcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (leftcol1 > -1) {\r\n\t var nexttype = this.getEleTypeByRc(relerow, leftcol1);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [relerow + \"_\" + leftcol1, relerow + \"_\" + leftcol];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t var jianrow = this.getEliminateRowR(r, c);\r\n\t if (jianrow.length == 2) {\r\n\t var jianr = Number(jianrow[0].split(\"_\")[0]) - 1;\r\n\t var jianc = Number(jianrow[0].split(\"_\")[1]);\r\n\t var ljianc = jianc - 1;\r\n\t if (ljianc > -1) {\r\n\t var nexttype = this.getEleTypeByRc(jianr, ljianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [jianr + \"_\" + ljianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t var rjianc = jianc + 1;\r\n\t if (rjianc < MapData.col) {\r\n\t var nexttype = this.getEleTypeByRc(jianr, rjianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [jianr + \"_\" + rjianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t var jiancol = this.getEliminateRowC(r, c);\r\n\t if (jiancol.length == 2) {\r\n\t var jianr = Number(jiancol[0].split(\"_\")[0]);\r\n\t var jianc = Number(jianrow[0].split(\"_\")[1]) - 1;\r\n\t var ujianr = jianr - 1;\r\n\t if (ujianr > -1) {\r\n\t var nexttype = this.getEleTypeByRc(ujianr, jianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [ujianr + \"_\" + jianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t var djianr = jianr + 1;\r\n\t if (djianr < MapData.row) {\r\n\t var nexttype = this.getEleTypeByRc(djianr, jianc);\r\n\t if (nexttype == checktype) {\r\n\t attiondata = [djianr + \"_\" + jianc, jianr + \"_\" + jianc];\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t return attiondata;\r\n\t };\r\n\t GameView.prototype.checkEliminate = function () {\r\n\t this.eliminateArr = new Array();\r\n\t for (var r = MapData.row - 1; r > -1; r--) {\r\n\t for (var c = MapData.col - 1; c > -1; c--) {\r\n\t var edata = this.getEliminate(r, c);\r\n\t if (edata) {\r\n\t var etype = edata.etype;\r\n\t var earr = edata.arr;\r\n\t this.checkAddEli(etype, earr);\r\n\t }\r\n\t }\r\n\t }\r\n\t };\r\n\t GameView.prototype.getEliminateRowR = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var jianrow = x - 2;\r\n\t var relearr = new Array();\r\n\t relearr.push(x + \"_\" + y);\r\n\t if (jianrow > -1) {\r\n\t var jiantype = this.getEleTypeByRc(jianrow, y);\r\n\t if (jiantype == checktype) {\r\n\t relearr.push(jianrow + \"_\" + y);\r\n\t }\r\n\t }\r\n\t return relearr;\r\n\t };\r\n\t GameView.prototype.getEliminateRowC = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var jiancol = y - 2;\r\n\t var relearr = new Array();\r\n\t relearr.push(x + \"_\" + y);\r\n\t if (jiancol > -1) {\r\n\t var jiantype = this.getEleTypeByRc(x, jiancol);\r\n\t if (jiantype == checktype) {\r\n\t relearr.push(x + \"_\" + jiancol);\r\n\t }\r\n\t }\r\n\t return relearr;\r\n\t };\r\n\t GameView.prototype.getEliminateRow = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var relearr = new Array();\r\n\t relearr.push(x + \"_\" + y);\r\n\t for (var r = x - 1; r > -1; r--) {\r\n\t var reletype = this.getEleTypeByRc(r, y);\r\n\t if (checktype == reletype) {\r\n\t relearr.push(r + \"_\" + y);\r\n\t }\r\n\t else {\r\n\t break;\r\n\t }\r\n\t }\r\n\t return relearr;\r\n\t };\r\n\t GameView.prototype.getEliminateCol = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var celearr = new Array();\r\n\t celearr.push(x + \"_\" + y);\r\n\t for (var c = y - 1; c > -1; c--) {\r\n\t var celetype = this.getEleTypeByRc(x, c);\r\n\t if (checktype == celetype) {\r\n\t celearr.push(x + \"_\" + c);\r\n\t }\r\n\t else {\r\n\t break;\r\n\t }\r\n\t }\r\n\t return celearr;\r\n\t };\r\n\t GameView.prototype.getEliminate = function (x, y) {\r\n\t var checktype = this.getEleTypeByRc(x, y);\r\n\t var relearr = this.getEliminateRow(x, y);\r\n\t var celearr = this.getEliminateCol(x, y);\r\n\t var eliminatearr = new Array();\r\n\t if (relearr.length >= 3) {\r\n\t eliminatearr.push.apply(eliminatearr, relearr);\r\n\t }\r\n\t if (celearr.length >= 3) {\r\n\t eliminatearr.push.apply(eliminatearr, celearr);\r\n\t }\r\n\t if (eliminatearr.length > 0) {\r\n\t return {\r\n\t etype: checktype,\r\n\t arr: eliminatearr\r\n\t };\r\n\t }\r\n\t else {\r\n\t return false;\r\n\t }\r\n\t };\r\n\t GameView.prototype.getEleTypeByRc = function (r, c) {\r\n\t var rc = r + \"_\" + c;\r\n\t var elename = this.lattices[rc];\r\n\t var ele = this.container.getChildByName(elename);\r\n\t var eletype = ele.type;\r\n\t return eletype;\r\n\t };\r\n\t GameView.prototype.checkAddEli = function (etype, earr) {\r\n\t for (var e = 0; e < earr.length; e++) {\r\n\t var ename = earr[e];\r\n\t var needadd = true;\r\n\t for (var i = 0; i < this.eliminateArr.length; i++) {\r\n\t var ielidata = this.eliminateArr[i];\r\n\t var ielidxname = ielidata.idxname;\r\n\t if (ielidxname == ename) {\r\n\t needadd = false;\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (needadd) {\r\n\t this.eliminateArr.push({\r\n\t idxname: ename,\r\n\t type: etype\r\n\t });\r\n\t }\r\n\t }\r\n\t };\r\n\t GameView.prototype.getFallRcEle = function (r, c) {\r\n\t for (var fr = r - 1; fr > -1; fr--) {\r\n\t var frc = fr + \"_\" + c;\r\n\t var frcname = this.lattices[frc];\r\n\t if (frcname != \"empty\") {\r\n\t this.lattices[frc] = \"empty\";\r\n\t return frcname;\r\n\t }\r\n\t }\r\n\t return false;\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 _this._gameView = new GameView();\r\n\t _this.addChild(_this._gameView);\r\n\t engine.globalEvent.addEventListener('game-init', _this.init, _this);\r\n\t engine.globalEvent.addEventListener('game-reset', _this.reset, _this);\r\n\t engine.globalEvent.addEventListener('game-start', _this.start, _this);\r\n\t return _this;\r\n\t }\r\n\t GameWrapper.prototype.init = function () {\r\n\t this._gameView.init();\r\n\t };\r\n\t GameWrapper.prototype.reset = function () {\r\n\t this._gameView.reset();\r\n\t };\r\n\t GameWrapper.prototype.start = function () {\r\n\t this._gameView.start();\r\n\t };\r\n\t return GameWrapper;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameWrapper.js.map\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 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"
} }
...@@ -81,6 +81,7 @@ ...@@ -81,6 +81,7 @@
this.c1y = ty; this.c1y = ty;
this.p2x = tx; this.p2x = tx;
this.p2y = ty; this.p2y = ty;
engine.Tween.removeTweens(this);
engine.Tween.get(this).to({ engine.Tween.get(this).to({
scaleX: 1.1, scaleX: 1.1,
scaleY: 1.1 scaleY: 1.1
...@@ -95,6 +96,7 @@ ...@@ -95,6 +96,7 @@
y: this.y + 20 y: this.y + 20
}, 100) }, 100)
.call(function () { .call(function () {
_this.factor = 0;
engine.Tween.get(_this).to({ engine.Tween.get(_this).to({
factor: 1 factor: 1
}, 450) }, 450)
...@@ -113,6 +115,7 @@ ...@@ -113,6 +115,7 @@
var ty = tpos[1]; var ty = tpos[1];
var dis = MapData.getDistance([nx, ny], tpos); var dis = MapData.getDistance([nx, ny], tpos);
var time = Math.ceil(dis / MapData.anispeed * 1000); var time = Math.ceil(dis / MapData.anispeed * 1000);
engine.Tween.removeTweens(this);
var pro = new Promise(function (res) { var pro = new Promise(function (res) {
engine.Tween.get(_this, { loop: false }).to({ engine.Tween.get(_this, { loop: false }).to({
x: tx, x: tx,
...@@ -127,7 +130,6 @@ ...@@ -127,7 +130,6 @@
}; };
return Element; return Element;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=Element.js.map
var ElementType; var ElementType;
(function (ElementType) { (function (ElementType) {
...@@ -265,7 +267,7 @@ ...@@ -265,7 +267,7 @@
MapData.posData = {}; MapData.posData = {};
MapData.eleidx = 1; MapData.eleidx = 1;
MapData.elePool = {}; MapData.elePool = {};
MapData.anispeed = 860; MapData.anispeed = 1000;
return MapData; return MapData;
}()); }());
//# sourceMappingURL=MapData.js.map //# sourceMappingURL=MapData.js.map
...@@ -278,8 +280,8 @@ ...@@ -278,8 +280,8 @@
_this.eliminateArr = []; _this.eliminateArr = [];
_this.selectArr = []; _this.selectArr = [];
_this.conty = 140; _this.conty = 140;
_this.homex = 528; _this.homex = 562;
_this.homey = -40; _this.homey = -20;
_this.ination = false; _this.ination = false;
_this.canation = true; _this.canation = true;
_this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this); _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);
...@@ -294,8 +296,9 @@ ...@@ -294,8 +296,9 @@
this.homeimg = createSvga("房子动画"); this.homeimg = createSvga("房子动画");
this.addChild(this.homeimg); this.addChild(this.homeimg);
this.homeimg.x = this.homex; this.homeimg.x = this.homex;
this.homeimg.y = -40; this.homeimg.y = this.homey;
this.homeimg.stop(); this.homeimg.stop();
console.log("房子动画", this.homeimg);
this.container = new engine.Container(); this.container = new engine.Container();
this.addChild(this.container); this.addChild(this.container);
this.container.y = this.conty; this.container.y = this.conty;
...@@ -321,8 +324,8 @@ ...@@ -321,8 +324,8 @@
MapData.posData[r + "_" + c] = rcpos; MapData.posData[r + "_" + c] = rcpos;
} }
} }
this.tanix = this.homex + 146 / 2 - MapData.itemsize / 3; this.tanix = this.homex + 30;
this.taniy = this.homey + 120 / 2; this.taniy = this.homey;
engine.globalEvent.addEventListener(GameEvent.SelectEle, this.selectele, this); engine.globalEvent.addEventListener(GameEvent.SelectEle, this.selectele, this);
this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this); this.removeEventListener(engine.Event.ADDED_TO_STAGE, this.setup, this);
this.lastframeTime = Date.now(); this.lastframeTime = Date.now();
...@@ -465,6 +468,8 @@ ...@@ -465,6 +468,8 @@
var snode2x = snode2.x; var snode2x = snode2.x;
var snode2y = snode2.y; var snode2y = snode2.y;
var changetime = Math.ceil((MapData.itemsize / MapData.anispeed) * 2 * 1000); var changetime = Math.ceil((MapData.itemsize / MapData.anispeed) * 2 * 1000);
engine.Tween.removeTweens(snode1);
engine.Tween.removeTweens(snode2);
if (this.eliminateArr.length > 0) { if (this.eliminateArr.length > 0) {
engine.Tween.get(snode1).to({ engine.Tween.get(snode1).to({
x: snode2x, x: snode2x,
...@@ -538,11 +543,11 @@ ...@@ -538,11 +543,11 @@
return [4, new Promise(function (res1) { return [4, new Promise(function (res1) {
setTimeout(function () { setTimeout(function () {
res1(); res1();
}, 400); }, 500);
})]; })];
case 2: case 2:
_a.sent(); _a.sent();
this.homeimg.play(); this.homeimg.play(1, 1);
return [2]; return [2];
} }
}); });
...@@ -597,6 +602,7 @@ ...@@ -597,6 +602,7 @@
var nepos = [frcnode.x, frcnode.y]; var nepos = [frcnode.x, frcnode.y];
var fdis = MapData.getDistance(ftpos, nepos); var fdis = MapData.getDistance(ftpos, nepos);
var ftime = Math.ceil((fdis / MapData.anispeed) * 1000); var ftime = Math.ceil((fdis / MapData.anispeed) * 1000);
engine.Tween.removeTweens(frcnode);
var ifallpromise = new Promise(function (res) { var ifallpromise = new Promise(function (res) {
engine.Tween.get(frcnode) engine.Tween.get(frcnode)
.to({ .to({
...@@ -682,6 +688,8 @@ ...@@ -682,6 +688,8 @@
var lerpnum = 0.1; var lerpnum = 0.1;
var atpos1 = [(atx2 - atx1) * lerpnum + atx1, (aty2 - aty1) * lerpnum + aty1]; var atpos1 = [(atx2 - atx1) * lerpnum + atx1, (aty2 - aty1) * lerpnum + aty1];
var atpos2 = [(atx1 - atx2) * lerpnum + atx2, (aty1 - aty2) * lerpnum + aty2]; var atpos2 = [(atx1 - atx2) * lerpnum + atx2, (aty1 - aty2) * lerpnum + aty2];
engine.Tween.removeTweens(atnode1);
engine.Tween.removeTweens(atnode2);
engine.Tween.get(atnode1, { engine.Tween.get(atnode1, {
loop: true loop: true
}).to({ }).to({
...@@ -1063,6 +1071,7 @@ ...@@ -1063,6 +1071,7 @@
}; };
return GameView; return GameView;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=GameView.js.map
var GameWrapper = (function (_super) { var GameWrapper = (function (_super) {
tslib.__extends(GameWrapper, _super); tslib.__extends(GameWrapper, _super);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
}, },
{ {
"name": "房子动画", "name": "房子动画",
"url": "//yun.duiba.com.cn/aurora/assets/f55c640d40911934c7c5cf01f4fc1940ffb4e16c.svga", "url": "//yun.duiba.com.cn/aurora/assets/10d6c3c657e4f26eee2e6f1edca36ec468d57353.svga",
"uuid": "homeani", "uuid": "homeani",
"ext": ".svga" "ext": ".svga"
} }
......
...@@ -34,8 +34,8 @@ export default class GameView extends engine.Container { ...@@ -34,8 +34,8 @@ export default class GameView extends engine.Container {
homeimg; homeimg;
conty = 140; conty = 140;
homex = 528; homex = 562;
homey = -40; homey = -20;
tanix; tanix;
taniy; taniy;
...@@ -60,9 +60,9 @@ export default class GameView extends engine.Container { ...@@ -60,9 +60,9 @@ export default class GameView extends engine.Container {
this.homeimg = createSvga("房子动画"); this.homeimg = createSvga("房子动画");
this.addChild(this.homeimg); this.addChild(this.homeimg);
this.homeimg.x = this.homex; this.homeimg.x = this.homex;
this.homeimg.y = -40; this.homeimg.y = this.homey;
this.homeimg.stop(); this.homeimg.stop();
// console.log("房子动画",this.homeimg); console.log("房子动画",this.homeimg);
this.container = new engine.Container(); this.container = new engine.Container();
this.addChild(this.container); this.addChild(this.container);
...@@ -96,8 +96,8 @@ export default class GameView extends engine.Container { ...@@ -96,8 +96,8 @@ export default class GameView extends engine.Container {
MapData.posData[r+"_"+c] = rcpos; MapData.posData[r+"_"+c] = rcpos;
} }
} }
this.tanix = this.homex+146/2-MapData.itemsize/3; this.tanix = this.homex+30;
this.taniy = this.homey+120/2;// - MapData.itemsize/2; this.taniy = this.homey;// - MapData.itemsize/2;
engine.globalEvent.addEventListener(GameEvent.SelectEle,this.selectele,this); engine.globalEvent.addEventListener(GameEvent.SelectEle,this.selectele,this);
this.removeEventListener(engine.Event.ADDED_TO_STAGE,this.setup,this); this.removeEventListener(engine.Event.ADDED_TO_STAGE,this.setup,this);
...@@ -267,7 +267,10 @@ export default class GameView extends engine.Container { ...@@ -267,7 +267,10 @@ export default class GameView extends engine.Container {
let snode2x = snode2.x; let snode2x = snode2.x;
let snode2y = snode2.y; let snode2y = snode2.y;
let changetime = Math.ceil((MapData.itemsize/MapData.anispeed)*2*1000) let changetime = Math.ceil((MapData.itemsize/MapData.anispeed)*2*1000);
engine.Tween.removeTweens(snode1);
engine.Tween.removeTweens(snode2);
if(this.eliminateArr.length>0){ if(this.eliminateArr.length>0){
engine.Tween.get(snode1).to({ engine.Tween.get(snode1).to({
x:snode2x, x:snode2x,
...@@ -342,9 +345,9 @@ export default class GameView extends engine.Container { ...@@ -342,9 +345,9 @@ export default class GameView extends engine.Container {
await new Promise(res1=>{ await new Promise(res1=>{
setTimeout(function(){ setTimeout(function(){
res1(); res1();
},400) },500)
}) })
this.homeimg.play() this.homeimg.play(1,1);
} }
//掉落 //掉落
async fall(){ async fall(){
...@@ -400,6 +403,8 @@ export default class GameView extends engine.Container { ...@@ -400,6 +403,8 @@ export default class GameView extends engine.Container {
let fdis = MapData.getDistance(ftpos,nepos); let fdis = MapData.getDistance(ftpos,nepos);
let ftime = Math.ceil((fdis/MapData.anispeed)*1000); let ftime = Math.ceil((fdis/MapData.anispeed)*1000);
engine.Tween.removeTweens(frcnode);
let ifallpromise = new Promise(res=>{ let ifallpromise = new Promise(res=>{
engine.Tween.get(frcnode) engine.Tween.get(frcnode)
.to({ .to({
...@@ -453,13 +458,6 @@ export default class GameView extends engine.Container { ...@@ -453,13 +458,6 @@ export default class GameView extends engine.Container {
let anitime = Math.ceil((anidis/MapData.anispeed)*1000); let anitime = Math.ceil((anidis/MapData.anispeed)*1000);
aniele.flyToHome(this.tanix,this.taniy,anitime); aniele.flyToHome(this.tanix,this.taniy,anitime);
// engine.Tween.get(aniele)
// .to({
// x:this.tanix,
// y:this.taniy,
// scaleX:0,
// scaleY:0
// },anitime);
} }
//修改元素点击 //修改元素点击
...@@ -496,6 +494,9 @@ export default class GameView extends engine.Container { ...@@ -496,6 +494,9 @@ export default class GameView extends engine.Container {
let atpos1 = [(atx2-atx1)*lerpnum+atx1,(aty2-aty1)*lerpnum+aty1]; let atpos1 = [(atx2-atx1)*lerpnum+atx1,(aty2-aty1)*lerpnum+aty1];
let atpos2 = [(atx1-atx2)*lerpnum+atx2,(aty1-aty2)*lerpnum+aty2]; let atpos2 = [(atx1-atx2)*lerpnum+atx2,(aty1-aty2)*lerpnum+aty2];
engine.Tween.removeTweens(atnode1);
engine.Tween.removeTweens(atnode2);
engine.Tween.get(atnode1,{ engine.Tween.get(atnode1,{
loop:true loop:true
}).to({ }).to({
......
...@@ -26,7 +26,7 @@ export default class MapData{ ...@@ -26,7 +26,7 @@ export default class MapData{
static eleidx = 1; static eleidx = 1;
static elePool = {}; static elePool = {};
static anispeed = 860; static anispeed = 1000;
static btigerTex:engine.Texture; static btigerTex:engine.Texture;
static gtigerTex:engine.Texture; static gtigerTex:engine.Texture;
......
...@@ -81,6 +81,7 @@ export default class Element extends engine.Container{ ...@@ -81,6 +81,7 @@ export default class Element extends engine.Container{
this.p2x = tx; this.p2x = tx;
this.p2y = ty; this.p2y = ty;
engine.Tween.removeTweens(this);
engine.Tween.get(this).to({ engine.Tween.get(this).to({
scaleX:1.1, scaleX:1.1,
...@@ -96,6 +97,7 @@ export default class Element extends engine.Container{ ...@@ -96,6 +97,7 @@ export default class Element extends engine.Container{
y:this.y+20 y:this.y+20
},100) },100)
.call(()=>{ .call(()=>{
this.factor = 0;
engine.Tween.get(this).to({ engine.Tween.get(this).to({
factor:1 factor:1
},450) },450)
...@@ -117,6 +119,7 @@ export default class Element extends engine.Container{ ...@@ -117,6 +119,7 @@ export default class Element extends engine.Container{
let dis = MapData.getDistance([nx,ny],tpos); let dis = MapData.getDistance([nx,ny],tpos);
let time = Math.ceil(dis/MapData.anispeed*1000); let time = Math.ceil(dis/MapData.anispeed*1000);
engine.Tween.removeTweens(this);
let pro = new Promise(res=>{ let pro = new Promise(res=>{
engine.Tween.get(this,{loop:false}).to({ engine.Tween.get(this,{loop:false}).to({
x:tx, x:tx,
......
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