Commit 9d869388 authored by zjz1994's avatar zjz1994

工行消消乐还原

parent e29e32b9
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
function injectProps(p) { function injectProps(p) {
engine.injectProp(props, p); engine.injectProp(props, p);
} }
//# sourceMappingURL=props.js.map
function getTexture(uuid) { function getTexture(uuid) {
return engine.Texture.from(getAssetByUUID(uuid).uuid); return engine.Texture.from(getAssetByUUID(uuid).uuid);
...@@ -20,7 +19,11 @@ ...@@ -20,7 +19,11 @@
function getTextureByName(name) { function getTextureByName(name) {
return getTexture(engine.getAssetByName(name).uuid); return getTexture(engine.getAssetByName(name).uuid);
} }
//# sourceMappingURL=utils.js.map function createSvga(name, anchorName) {
var inst = new svga.Svga();
inst.source = 'asset://' + engine.getAssetByName(name).uuid;
return inst;
}
var Element = (function (_super) { var Element = (function (_super) {
tslib.__extends(Element, _super); tslib.__extends(Element, _super);
...@@ -41,7 +44,7 @@ ...@@ -41,7 +44,7 @@
this.mouseEnabled = touch; this.mouseEnabled = touch;
this.mouseChildren = touch; this.mouseChildren = touch;
}, },
enumerable: true, enumerable: false,
configurable: true configurable: true
}); });
Element.prototype.init = function (type) { Element.prototype.init = function (type) {
...@@ -86,7 +89,7 @@ ...@@ -86,7 +89,7 @@
this.scaleX = mscale; this.scaleX = mscale;
this.scaleY = mscale; this.scaleY = mscale;
}, },
enumerable: true, enumerable: false,
configurable: true configurable: true
}); });
Element.prototype.flyToHome = function (tx, ty, time) { Element.prototype.flyToHome = function (tx, ty, time) {
...@@ -145,15 +148,14 @@ ...@@ -145,15 +148,14 @@
}; };
return Element; return Element;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=Element.js.map
var ElementType; var ElementType;
(function (ElementType) { (function (ElementType) {
ElementType[ElementType["gdog"] = 1] = "gdog"; ElementType[ElementType["btiger"] = 1] = "btiger";
ElementType[ElementType["pbird"] = 2] = "pbird"; ElementType[ElementType["gtiger"] = 2] = "gtiger";
ElementType[ElementType["hniu"] = 3] = "hniu"; ElementType[ElementType["monkey"] = 3] = "monkey";
ElementType[ElementType["bribbit"] = 4] = "bribbit"; ElementType[ElementType["bird"] = 4] = "bird";
ElementType[ElementType["rpig"] = 5] = "rpig"; ElementType[ElementType["koala"] = 5] = "koala";
})(ElementType || (ElementType = {})); })(ElementType || (ElementType = {}));
var GameEvent; var GameEvent;
(function (GameEvent) { (function (GameEvent) {
...@@ -163,10 +165,10 @@ ...@@ -163,10 +165,10 @@
function MapData() { function MapData() {
} }
MapData.getRy = function (r) { MapData.getRy = function (r) {
return this.paddingh + r * (this.itemsize + this.paddinghi); return this.paddingb + r * (this.itemsize + this.paddingi);
}; };
MapData.getCx = function (c) { MapData.getCx = function (c) {
return this.paddingw + c * (this.itemsize + this.paddingwi); return this.paddingb + c * (this.itemsize + this.paddingi);
}; };
MapData.getRCPos = function (r, c) { MapData.getRCPos = function (r, c) {
var x = this.getCx(c); var x = this.getCx(c);
...@@ -181,20 +183,20 @@ ...@@ -181,20 +183,20 @@
MapData.getEtypeImgName = function (type) { MapData.getEtypeImgName = function (type) {
var ename; var ename;
switch (type) { switch (type) {
case ElementType.gdog: case ElementType.btiger:
ename = ""; ename = "白虎";
break; break;
case ElementType.pbird: case ElementType.gtiger:
ename = ""; ename = "雌虎";
break; break;
case ElementType.hniu: case ElementType.monkey:
ename = ""; ename = "猴子";
break; break;
case ElementType.bribbit: case ElementType.bird:
ename = "兔子"; ename = "";
break; break;
case ElementType.rpig: case ElementType.koala:
ename = ""; ename = "树熊";
break; break;
default: default:
console.error("未定义元素类型"); console.error("未定义元素类型");
...@@ -205,40 +207,40 @@ ...@@ -205,40 +207,40 @@
MapData.getEtypeImgTex = function (type) { MapData.getEtypeImgTex = function (type) {
var etex; var etex;
switch (type) { switch (type) {
case ElementType.gdog: case ElementType.btiger:
if (!this.gdotTex) { if (!this.btigerTex) {
this.gdotTex = getTextureByName("狗"); this.btigerTex = getTextureByName("白虎");
console.log("新素材加载---"); console.log("新素材加载---白虎");
} }
etex = this.gdotTex; etex = this.btigerTex;
break; break;
case ElementType.pbird: case ElementType.gtiger:
if (!this.pbirdTex) { if (!this.gtigerTex) {
this.pbirdTex = getTextureByName("鸟"); this.gtigerTex = getTextureByName("雌虎");
console.log("新素材加载---"); console.log("新素材加载---雌虎");
} }
etex = this.pbirdTex; etex = this.gtigerTex;
break; break;
case ElementType.hniu: case ElementType.monkey:
if (!this.hniuTex) { if (!this.monkeyTex) {
this.hniuTex = getTextureByName("牛"); this.monkeyTex = getTextureByName("猴子");
console.log("新素材加载---"); console.log("新素材加载---猴子");
} }
etex = this.hniuTex; etex = this.monkeyTex;
break; break;
case ElementType.bribbit: case ElementType.bird:
if (!this.bribbitTex) { if (!this.birdTex) {
this.bribbitTex = getTextureByName("兔子"); this.birdTex = getTextureByName("鸟");
console.log("新素材加载---兔子"); console.log("新素材加载---");
} }
etex = this.bribbitTex; etex = this.birdTex;
break; break;
case ElementType.rpig: case ElementType.koala:
if (!this.rpigTex) { if (!this.koalaTex) {
this.rpigTex = getTextureByName("猪"); this.koalaTex = getTextureByName("树熊");
console.log("新素材加载---"); console.log("新素材加载---树熊");
} }
etex = this.rpigTex; etex = this.koalaTex;
break; break;
default: default:
console.error("未定义元素类型"); console.error("未定义元素类型");
...@@ -247,17 +249,17 @@ ...@@ -247,17 +249,17 @@
return etex; return etex;
}; };
MapData.getRandEtype = function () { MapData.getRandEtype = function () {
var eletypeArr = [ElementType.gdog, ElementType.pbird, ElementType.hniu, ElementType.bribbit, ElementType.rpig]; var eletypeArr = [ElementType.btiger, ElementType.gtiger, ElementType.monkey, ElementType.bird, ElementType.koala];
var etype = eletypeArr[Math.floor(Math.random() * eletypeArr.length)]; var etype = eletypeArr[Math.floor(Math.random() * eletypeArr.length)];
return etype; return etype;
}; };
MapData.initPoolEle = function () { MapData.initPoolEle = function () {
this.gdotTex = getTextureByName("狗"); this.btigerTex = getTextureByName("白虎");
this.pbirdTex = getTextureByName("鸟"); this.gtigerTex = getTextureByName("雌虎");
this.hniuTex = getTextureByName("牛"); this.monkeyTex = getTextureByName("猴子");
this.bribbitTex = getTextureByName("兔子"); this.birdTex = getTextureByName("鸟");
this.rpigTex = getTextureByName("猪"); this.koalaTex = getTextureByName("树熊");
var eletypes = [ElementType.gdog, ElementType.pbird, ElementType.hniu, ElementType.bribbit, ElementType.rpig]; var eletypes = [ElementType.btiger, ElementType.gtiger, ElementType.monkey, ElementType.bird, ElementType.koala];
this.elePool["ele"] = new Array(); this.elePool["ele"] = new Array();
for (var i = 0; i < eletypes.length; i++) { for (var i = 0; i < eletypes.length; i++) {
for (var a = 0; a < 5; a++) { for (var a = 0; a < 5; a++) {
...@@ -339,11 +341,9 @@ ...@@ -339,11 +341,9 @@
var dis = Math.sqrt(Math.pow(p1x - p2x, 2) + Math.pow(p1y - p2y, 2)); var dis = Math.sqrt(Math.pow(p1x - p2x, 2) + Math.pow(p1y - p2y, 2));
return dis; return dis;
}; };
MapData.itemsize = 116; MapData.itemsize = 129;
MapData.paddingw = 7; MapData.paddingb = 10;
MapData.paddingh = 7; MapData.paddingi = 5;
MapData.paddingwi = 4;
MapData.paddinghi = 2;
MapData.row = 5; MapData.row = 5;
MapData.col = 5; MapData.col = 5;
MapData.posData = {}; MapData.posData = {};
...@@ -389,7 +389,6 @@ ...@@ -389,7 +389,6 @@
]; ];
return MapData; return MapData;
}()); }());
//# sourceMappingURL=MapData.js.map
var GameView = (function (_super) { var GameView = (function (_super) {
tslib.__extends(GameView, _super); tslib.__extends(GameView, _super);
...@@ -410,10 +409,8 @@ ...@@ -410,10 +409,8 @@
_this.level = 0; _this.level = 0;
_this.inrecord = false; _this.inrecord = false;
_this.requestGameOver = false; _this.requestGameOver = false;
_this.elitype = 1;
_this._seq = 1; _this._seq = 1;
_this.sptime = Date.now(); _this.sptime = Date.now();
_this.useBoom = false;
_this._score = 0; _this._score = 0;
_this.inEliminate = false; _this.inEliminate = false;
_this.newSelect = false; _this.newSelect = false;
...@@ -430,7 +427,7 @@ ...@@ -430,7 +427,7 @@
this.changeEnable(false); this.changeEnable(false);
} }
}, },
enumerable: true, enumerable: false,
configurable: true configurable: true
}); });
Object.defineProperty(GameView.prototype, "seq", { Object.defineProperty(GameView.prototype, "seq", {
...@@ -440,17 +437,13 @@ ...@@ -440,17 +437,13 @@
set: function (num) { set: function (num) {
this._seq = num; this._seq = num;
}, },
enumerable: true, enumerable: false,
configurable: true configurable: true
}); });
GameView.prototype.setup = function () { GameView.prototype.setup = function () {
MapData.initPoolEle(); MapData.initPoolEle();
this.selectimg = new engine.Image(getTextureByName("选中框")); this.selectimg = new engine.Image(getTextureByName("选中框"));
this.selectimg.mouseEnabled = false; this.selectimg.mouseEnabled = false;
this.selectw = this.selectimg.texture.width;
this.selecth = this.selectimg.texture.height;
this.selectimg.anchorX = this.selectw / 2;
this.selectimg.anchorY = this.selecth / 2;
this.jiantou1 = new engine.Image(getTextureByName("交换箭头")); this.jiantou1 = new engine.Image(getTextureByName("交换箭头"));
this.jiantou2 = new engine.Image(getTextureByName("交换箭头")); this.jiantou2 = new engine.Image(getTextureByName("交换箭头"));
this.jiantou1.mouseEnabled = false; this.jiantou1.mouseEnabled = false;
...@@ -481,6 +474,18 @@ ...@@ -481,6 +474,18 @@
this.jiantoucont.addChild(this.jiantou2); this.jiantoucont.addChild(this.jiantou2);
var row = MapData.row; var row = MapData.row;
var col = MapData.col; var col = MapData.col;
this.homeimgday = createSvga("房子动画");
this.homeimgday.x = this.homex;
this.homeimgday.y = this.homey;
this.homeimgday.stop();
this.homeimgday.visible = false;
this.addChild(this.homeimgday);
this.homeimgnight = createSvga("夜晚房子");
this.homeimgnight.x = this.homex;
this.homeimgnight.y = this.homey;
this.homeimgnight.stop();
this.homeimgnight.visible = false;
this.addChild(this.homeimgnight);
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;
...@@ -515,36 +520,13 @@ ...@@ -515,36 +520,13 @@
this.lastframeTime = Date.now(); this.lastframeTime = Date.now();
this.lastatime = Date.now(); this.lastatime = Date.now();
this.addEventListener(engine.Event.ENTER_FRAME, this.onUpdate, this); this.addEventListener(engine.Event.ENTER_FRAME, this.onUpdate, this);
var zhadanbtn = new engine.Label();
zhadanbtn.text = "炸弹";
zhadanbtn.size = 56;
zhadanbtn.width = 200;
zhadanbtn.height = 100;
this.addChild(zhadanbtn);
zhadanbtn.y = 900;
zhadanbtn.fillColor = "red";
zhadanbtn.addEventListener(engine.MouseEvent.CLICK, this.zhadanFunc, this);
var timebtn = new engine.Label();
timebtn.text = "加时";
timebtn.size = 56;
timebtn.width = 200;
timebtn.height = 100;
this.addChild(timebtn);
timebtn.y = 900;
timebtn.x = 500;
timebtn.fillColor = "red";
timebtn.addEventListener(engine.MouseEvent.CLICK, this.addTimeFunc, this);
};
GameView.prototype.zhadanFunc = function () {
this.useBoom = true;
};
GameView.prototype.addTimeFunc = function () {
console.log("加时间");
}; };
GameView.prototype.changeAni = function () { GameView.prototype.changeAni = function () {
this.changeHomeShow("night"); this.changeHomeShow("night");
}; };
GameView.prototype.playComp = function () { GameView.prototype.playComp = function () {
this.homeimgday.stop(1);
this.homeimgnight.stop(1);
}; };
GameView.prototype.init = function (time, level, mode) { GameView.prototype.init = function (time, level, mode) {
this.score = 0; this.score = 0;
...@@ -564,7 +546,7 @@ ...@@ -564,7 +546,7 @@
this._score = num; this._score = num;
engine.globalEvent.dispatchEvent('game-score-update', { score: this._score }); engine.globalEvent.dispatchEvent('game-score-update', { score: this._score });
}, },
enumerable: true, enumerable: false,
configurable: true configurable: true
}); });
Object.defineProperty(GameView.prototype, "gametime", { Object.defineProperty(GameView.prototype, "gametime", {
...@@ -588,7 +570,7 @@ ...@@ -588,7 +570,7 @@
} }
this._gametime = time; this._gametime = time;
}, },
enumerable: true, enumerable: false,
configurable: true configurable: true
}); });
GameView.prototype.gameOver = function () { GameView.prototype.gameOver = function () {
...@@ -679,6 +661,18 @@ ...@@ -679,6 +661,18 @@
this.gametime = ngtime; this.gametime = ngtime;
} }
} }
if (this.homeimgday && this.homeimgday.visible) {
var curframe = this.homeimgday.currentFrame;
if (curframe == this.homeimgday.totalFrames) {
this.homeimgday.gotoAndStop(1);
}
}
if (this.homeimgnight && this.homeimgnight.visible) {
var curframe = this.homeimgnight.currentFrame;
if (curframe == this.homeimgnight.totalFrames) {
this.homeimgnight.gotoAndStop(1);
}
}
this.lastframeTime = ntime; this.lastframeTime = ntime;
}; };
GameView.prototype.initContainer = function () { GameView.prototype.initContainer = function () {
...@@ -783,13 +777,6 @@ ...@@ -783,13 +777,6 @@
var sc = data.c; var sc = data.c;
var type = data.type; var type = data.type;
var sname = sr + "_" + sc; var sname = sr + "_" + sc;
if (this.useBoom) {
if (type == "mouse_down") {
this.unShowEleAttion();
this.boomeEle(sr, sc);
}
return;
}
var lnewSelect = this.newSelect; var lnewSelect = this.newSelect;
var newCanSel = false; var newCanSel = false;
if (this.selectArr.length == 0) { if (this.selectArr.length == 0) {
...@@ -851,24 +838,9 @@ ...@@ -851,24 +838,9 @@
var r = rcname.split("_")[0]; var r = rcname.split("_")[0];
var c = rcname.split("_")[1]; var c = rcname.split("_")[1];
var rcpos = MapData.getRCPos(r, c); var rcpos = MapData.getRCPos(r, c);
engine.Tween.removeTweens(this.selectimg);
this.anicontainer.addChild(this.selectimg); this.anicontainer.addChild(this.selectimg);
this.selectimg.x = rcpos[0] - 3; this.selectimg.x = rcpos[0];
this.selectimg.y = rcpos[1] + this.conty - 3; this.selectimg.y = rcpos[1] + this.conty;
this.startTweenSelectImg();
};
GameView.prototype.startTweenSelectImg = function () {
this.selectimg.scaleX = 1;
this.selectimg.scaleY = 1;
engine.Tween.get(this.selectimg, { loop: true })
.to({
scaleX: 0.9,
scaleY: 0.9
}, 500)
.to({
scaleX: 1,
scaleY: 1
}, 500);
}; };
GameView.prototype.changeElePos = function () { GameView.prototype.changeElePos = function () {
var _this = this; var _this = this;
...@@ -952,7 +924,7 @@ ...@@ -952,7 +924,7 @@
ielidata1 = this.eliminateArr[i]; ielidata1 = this.eliminateArr[i];
ielileng = ielidata1.length; ielileng = ielidata1.length;
addscore = 0; addscore = 0;
if (ielileng <= 3) { if (ielileng == 3) {
addscore = props.threeEscore; addscore = props.threeEscore;
} }
else if (ielileng == 4) { else if (ielileng == 4) {
...@@ -974,18 +946,11 @@ ...@@ -974,18 +946,11 @@
ielix = ielinode.x; ielix = ielinode.x;
ieliy = ielinode.y; ieliy = ielinode.y;
ietype = ielinode.type; ietype = ielinode.type;
if (this.elitype == 1) { this.container.removeChild(ielinode);
this.lattices[ielidxname] = "empty"; MapData.recoverEle(ielinode, ietype);
this.addScoreAni(ielix, ieliy, ietype, addscore); this.addScoreAni(ielix, ieliy, ietype, addscore);
this.goDisplayAni1(ielinode, ietype, ielix, ieliy); this.lattices[ielidxname] = "empty";
} this.goHomeAni(ielitype, ielix, ieliy);
else {
this.container.removeChild(ielinode);
MapData.recoverEle(ielinode, ietype);
this.addScoreAni(ielix, ieliy, ietype, addscore);
this.lattices[ielidxname] = "empty";
this.goHomeAni(ielitype, ielix, ieliy);
}
} }
} }
return [4, new Promise(function (res) { return [4, new Promise(function (res) {
...@@ -1003,6 +968,8 @@ ...@@ -1003,6 +968,8 @@
})]; })];
case 2: case 2:
_a.sent(); _a.sent();
this.homeimgday.play(1, 1);
this.homeimgnight.play(1, 1);
return [2]; return [2];
} }
}); });
...@@ -1140,6 +1107,7 @@ ...@@ -1140,6 +1107,7 @@
}; };
GameView.prototype.goDisplayAni = function (ielitype, ielix, ieliy) { GameView.prototype.goDisplayAni = function (ielitype, ielix, ieliy) {
var _this = this; var _this = this;
console.log("老原地消失");
var aniele = MapData.getOneEle(ielitype); var aniele = MapData.getOneEle(ielitype);
aniele.alpha = 0; aniele.alpha = 0;
var anix = ielix; var anix = ielix;
...@@ -1736,20 +1704,20 @@ ...@@ -1736,20 +1704,20 @@
anitxt.alpha = 0; anitxt.alpha = 0;
var txtcolor = "#bd882f"; var txtcolor = "#bd882f";
switch (ietype) { switch (ietype) {
case ElementType.gdog: case ElementType.btiger:
txtcolor = "#d3ff6d"; txtcolor = "#ffffff";
break; break;
case ElementType.pbird: case ElementType.gtiger:
txtcolor = "#ff51d4"; txtcolor = "#f5a900";
break; break;
case ElementType.hniu: case ElementType.monkey:
txtcolor = "#ffab55"; txtcolor = "#bd882f";
break; break;
case ElementType.bribbit: case ElementType.bird:
txtcolor = "#b3d4ff"; txtcolor = "#54c1ef";
break; break;
case ElementType.rpig: case ElementType.koala:
txtcolor = "#f2453b"; txtcolor = "#c7c8c9";
break; break;
default: default:
console.error("未定义类型,检查"); console.error("未定义类型,检查");
...@@ -1787,48 +1755,19 @@ ...@@ -1787,48 +1755,19 @@
}); });
}; };
GameView.prototype.changeHomeShow = function (mode) { GameView.prototype.changeHomeShow = function (mode) {
}; if (mode === void 0) { mode = "day"; }
GameView.prototype.boomeEle = function (row, col) { var _v = true;
this.useBoom = false; if (mode == "day") {
this.anicontainer.removeChild(this.selectimg); _v = true;
this.changeEnable(false);
this.selectArr = new Array();
this.eliminateArr = new Array();
for (var r = 0; r < MapData.row; r++) {
var irc = r + "_" + col;
var ielename = this.lattices[irc];
var iele = this.container.getChildByName(ielename);
if (iele) {
var eletype = iele.type;
this.eliminateArr.push([
{
idxname: irc,
type: eletype
}
]);
}
} }
for (var c = 0; c < MapData.col; c++) { else {
if (c != col) { _v = false;
var irc = row + "_" + c;
var ielename = this.lattices[irc];
var iele = this.container.getChildByName(ielename);
if (iele) {
var eletype = iele.type;
this.eliminateArr.push([
{
idxname: irc,
type: eletype
}
]);
}
}
} }
this.eliminate(); this.homeimgday.visible = _v;
this.homeimgnight.visible = !_v;
}; };
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);
...@@ -1871,7 +1810,6 @@ ...@@ -1871,7 +1810,6 @@
}; };
return GameWrapper; return GameWrapper;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=GameWrapper.js.map
function index (props) { function index (props) {
prepareProps(); prepareProps();
...@@ -1879,7 +1817,6 @@ ...@@ -1879,7 +1817,6 @@
var instance = new GameWrapper(); var instance = new GameWrapper();
return instance; return instance;
} }
//# sourceMappingURL=index.js.map
return index; return index;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -21,43 +21,43 @@ ...@@ -21,43 +21,43 @@
"assets": [ "assets": [
{ {
"name": "底图", "name": "底图",
"url": "//yun.duiba.com.cn/aurora/assets/d2b599cece087d5ab315cd1392f94139941280bb.png", "url": "//yun.duiba.com.cn/aurora/assets/109e30fa662276e0ee4f2e2c35b85bee6f300050.png",
"uuid": "map", "uuid": "map",
"ext": ".png" "ext": ".png"
}, },
{ {
"name": "", "name": "白虎",
"url": "//yun.duiba.com.cn/aurora/assets/26780d2fb48d047e111857da9e82fe49b0d310a8.png", "url": "//yun.duiba.com.cn/aurora/assets/b486b4a72c58850bbd1930b994e08802e34fb3e3.png",
"uuid": "gdog", "uuid": "btiger",
"ext": ".png" "ext": ".png"
}, },
{ {
"name": "", "name": "雌虎",
"url": "//yun.duiba.com.cn/aurora/assets/39a1a8865ca101d6fa29325bf1fc37c26190e382.png", "url": "//yun.duiba.com.cn/aurora/assets/c41afceb285432ed2c17c643df96efc20893adc8.png",
"uuid": "pbird", "uuid": "gtiger",
"ext": ".png" "ext": ".png"
}, },
{ {
"name": "", "name": "猴子",
"url": "//yun.duiba.com.cn/aurora/assets/2e74dd7faab031f71e644dad340b4c83791b8bf0.png", "url": "//yun.duiba.com.cn/aurora/assets/ef7bc5d1fc38267adba71e07d517330f249d23ba.png",
"uuid": "hniu", "uuid": "monkey",
"ext": ".png" "ext": ".png"
}, },
{ {
"name": "兔子", "name": "",
"url": "//yun.duiba.com.cn/aurora/assets/6c4033a865bc6c73b680bc31d29de55ac347d397.png", "url": "//yun.duiba.com.cn/aurora/assets/9ad18dfa34e1729e9893ac362975f9e062263f70.png",
"uuid": "bribbit", "uuid": "bird",
"ext": ".png" "ext": ".png"
}, },
{ {
"name": "", "name": "树熊",
"url": "//yun.duiba.com.cn/aurora/assets/c14e003bb3847bd7ab30eb6ba0915124f207bc31.png", "url": "//yun.duiba.com.cn/aurora/assets/277aa43d9f1bf3dd7a18e627335a166f0509684c.png",
"uuid": "rpig", "uuid": "koala",
"ext": ".png" "ext": ".png"
}, },
{ {
"name": "选中框", "name": "选中框",
"url": "//yun.duiba.com.cn/aurora/assets/c6ed5f3f94958e74fcbfc1da56e99795056fd75a.png", "url": "//yun.duiba.com.cn/aurora/assets/a3ce52a41ed53ccfa7ce404dbc10102961c4a805.png",
"uuid": "selected", "uuid": "selected",
"ext": ".png" "ext": ".png"
}, },
......
...@@ -31,12 +31,10 @@ export default class GameView extends engine.Container { ...@@ -31,12 +31,10 @@ export default class GameView extends engine.Container {
//选中 //选中
selectArr = []; selectArr = [];
selectimg:engine.Image; selectimg:engine.Image;
selectw:number;
selecth:number;
//屋子 //屋子
// homeimgday; homeimgday;
// homeimgnight; homeimgnight;
conty = 140; conty = 140;
homex = 562; homex = 562;
...@@ -75,8 +73,6 @@ export default class GameView extends engine.Container { ...@@ -75,8 +73,6 @@ export default class GameView extends engine.Container {
level = 0; level = 0;
inrecord = false; inrecord = false;
requestGameOver = false; requestGameOver = false;
elitype = 1;//1原地消失,2飞到目标位置
set gamestat(stat){//1游戏中,2,游戏外 set gamestat(stat){//1游戏中,2,游戏外
this._gamestat = stat; this._gamestat = stat;
if(stat==2){ if(stat==2){
...@@ -96,18 +92,12 @@ export default class GameView extends engine.Container { ...@@ -96,18 +92,12 @@ export default class GameView extends engine.Container {
sptime = Date.now(); sptime = Date.now();
eptime; eptime;
seqscore; seqscore;
//使用炸弹
useBoom:boolean = false;
setup() { setup() {
MapData.initPoolEle(); MapData.initPoolEle();
this.selectimg = new engine.Image(getTextureByName("选中框")); this.selectimg = new engine.Image(getTextureByName("选中框"));
this.selectimg.mouseEnabled = false; this.selectimg.mouseEnabled = false;
this.selectw = this.selectimg.texture.width;
this.selecth = this.selectimg.texture.height;
this.selectimg.anchorX = this.selectw/2;
this.selectimg.anchorY = this.selecth/2;
//箭头cont //箭头cont
this.jiantou1 = new engine.Image(getTextureByName("交换箭头")); this.jiantou1 = new engine.Image(getTextureByName("交换箭头"));
...@@ -153,21 +143,21 @@ export default class GameView extends engine.Container { ...@@ -153,21 +143,21 @@ export default class GameView extends engine.Container {
let row = MapData.row; let row = MapData.row;
let col = MapData.col; let col = MapData.col;
// this.homeimgday = createSvga("房子动画"); this.homeimgday = createSvga("房子动画");
// this.homeimgday.x = this.homex; this.homeimgday.x = this.homex;
// this.homeimgday.y = this.homey; this.homeimgday.y = this.homey;
// this.homeimgday.stop(); this.homeimgday.stop();
// this.homeimgday.visible = false; this.homeimgday.visible = false;
// this.addChild(this.homeimgday); this.addChild(this.homeimgday);
// this.homeimgnight = createSvga("夜晚房子"); this.homeimgnight = createSvga("夜晚房子");
// this.homeimgnight.x = this.homex; this.homeimgnight.x = this.homex;
// this.homeimgnight.y = this.homey; this.homeimgnight.y = this.homey;
// this.homeimgnight.stop(); this.homeimgnight.stop();
// this.homeimgnight.visible = false; this.homeimgnight.visible = false;
// this.addChild(this.homeimgnight); this.addChild(this.homeimgnight);
...@@ -224,45 +214,13 @@ export default class GameView extends engine.Container { ...@@ -224,45 +214,13 @@ export default class GameView extends engine.Container {
// testbtn.y = 900; // testbtn.y = 900;
// testbtn.fillColor = "red"; // testbtn.fillColor = "red";
// testbtn.addEventListener(engine.MouseEvent.CLICK,this.reset,this); // testbtn.addEventListener(engine.MouseEvent.CLICK,this.reset,this);
//炸弹道具
let zhadanbtn = new engine.Label();
zhadanbtn.text = "炸弹";
zhadanbtn.size = 56;
zhadanbtn.width = 200;
zhadanbtn.height = 100;
this.addChild(zhadanbtn);
zhadanbtn.y = 900;
zhadanbtn.fillColor = "red";
zhadanbtn.addEventListener(engine.MouseEvent.CLICK,this.zhadanFunc,this);
//加时间道具
let timebtn = new engine.Label();
timebtn.text = "加时";
timebtn.size = 56;
timebtn.width = 200;
timebtn.height = 100;
this.addChild(timebtn);
timebtn.y = 900;
timebtn.x = 500;
timebtn.fillColor = "red";
timebtn.addEventListener(engine.MouseEvent.CLICK,this.addTimeFunc,this);
}
//炸弹
zhadanFunc(){
this.useBoom = true;
}
//加时间
addTimeFunc(){
console.log("加时间");
} }
changeAni(){ changeAni(){
this.changeHomeShow("night"); this.changeHomeShow("night");
} }
playComp(){ playComp(){
// this.homeimgday.stop(1); this.homeimgday.stop(1);
// this.homeimgnight.stop(1); this.homeimgnight.stop(1);
} }
init(time,level,mode){ init(time,level,mode){
...@@ -394,18 +352,18 @@ export default class GameView extends engine.Container { ...@@ -394,18 +352,18 @@ export default class GameView extends engine.Container {
this.gametime = ngtime; this.gametime = ngtime;
} }
} }
// if(this.homeimgday&&this.homeimgday.visible){ if(this.homeimgday&&this.homeimgday.visible){
// let curframe = this.homeimgday.currentFrame; let curframe = this.homeimgday.currentFrame;
// if(curframe==this.homeimgday.totalFrames){ if(curframe==this.homeimgday.totalFrames){
// this.homeimgday.gotoAndStop(1); this.homeimgday.gotoAndStop(1);
// } }
// } }
// if(this.homeimgnight&&this.homeimgnight.visible){ if(this.homeimgnight&&this.homeimgnight.visible){
// let curframe = this.homeimgnight.currentFrame; let curframe = this.homeimgnight.currentFrame;
// if(curframe==this.homeimgnight.totalFrames){ if(curframe==this.homeimgnight.totalFrames){
// this.homeimgnight.gotoAndStop(1); this.homeimgnight.gotoAndStop(1);
// } }
// } }
this.lastframeTime = ntime; this.lastframeTime = ntime;
} }
...@@ -529,14 +487,6 @@ export default class GameView extends engine.Container { ...@@ -529,14 +487,6 @@ export default class GameView extends engine.Container {
let sc = data.c; let sc = data.c;
let type = data.type; let type = data.type;
let sname = sr+"_"+sc; let sname = sr+"_"+sc;
//使用炸弹
if(this.useBoom){
if(type=="mouse_down"){
this.unShowEleAttion();
this.boomeEle(sr,sc);
}
return;
}
//新增滑动操作 //新增滑动操作
let lnewSelect = this.newSelect; let lnewSelect = this.newSelect;
...@@ -607,25 +557,11 @@ export default class GameView extends engine.Container { ...@@ -607,25 +557,11 @@ export default class GameView extends engine.Container {
let r = rcname.split("_")[0]; let r = rcname.split("_")[0];
let c = rcname.split("_")[1]; let c = rcname.split("_")[1];
let rcpos = MapData.getRCPos(r,c); let rcpos = MapData.getRCPos(r,c);
engine.Tween.removeTweens(this.selectimg);
this.anicontainer.addChild(this.selectimg); this.anicontainer.addChild(this.selectimg);
this.selectimg.x = rcpos[0]-3; this.selectimg.x = rcpos[0];
this.selectimg.y = rcpos[1]+this.conty-3; this.selectimg.y = rcpos[1]+this.conty;
this.startTweenSelectImg()
}
startTweenSelectImg(){
this.selectimg.scaleX = 1;
this.selectimg.scaleY = 1;
engine.Tween.get(this.selectimg,{loop:true})
.to({
scaleX:0.9,
scaleY:0.9
},500)
.to({
scaleX:1,
scaleY:1
},500);
} }
changeElePos(){ changeElePos(){
...@@ -719,7 +655,7 @@ export default class GameView extends engine.Container { ...@@ -719,7 +655,7 @@ export default class GameView extends engine.Container {
let ielidata1 = this.eliminateArr[i]; let ielidata1 = this.eliminateArr[i];
let ielileng = ielidata1.length; let ielileng = ielidata1.length;
let addscore = 0; let addscore = 0;
if(ielileng<=3){ if(ielileng==3){
addscore = props.threeEscore; addscore = props.threeEscore;
}else if(ielileng==4){ }else if(ielileng==4){
addscore = props.fourEscore; addscore = props.fourEscore;
...@@ -743,20 +679,13 @@ export default class GameView extends engine.Container { ...@@ -743,20 +679,13 @@ export default class GameView extends engine.Container {
let ielix = ielinode.x; let ielix = ielinode.x;
let ieliy = ielinode.y; let ieliy = ielinode.y;
let ietype = ielinode.type; let ietype = ielinode.type;
this.container.removeChild(ielinode);
MapData.recoverEle(ielinode,ietype);
this.addScoreAni(ielix,ieliy,ietype,addscore);
if(this.elitype==1){//原地消失 this.lattices[ielidxname] = "empty";
this.lattices[ielidxname] = "empty"; //元素层消除,动画层添加
this.addScoreAni(ielix,ieliy,ietype,addscore); this.goHomeAni(ielitype,ielix,ieliy);
this.goDisplayAni1(ielinode,ietype,ielix,ieliy);
}else{//飞到目标位置
this.container.removeChild(ielinode);
MapData.recoverEle(ielinode,ietype);
this.addScoreAni(ielix,ieliy,ietype,addscore);
this.lattices[ielidxname] = "empty";
//元素层消除,动画层添加
this.goHomeAni(ielitype,ielix,ieliy);
}
} }
} }
...@@ -772,8 +701,8 @@ export default class GameView extends engine.Container { ...@@ -772,8 +701,8 @@ export default class GameView extends engine.Container {
res1(); res1();
},500) },500)
}) })
// this.homeimgday.play(1,1); this.homeimgday.play(1,1);
// this.homeimgnight.play(1,1); this.homeimgnight.play(1,1);
} }
//掉落 //掉落
async fall(type="normal"){ async fall(type="normal"){
...@@ -904,7 +833,7 @@ export default class GameView extends engine.Container { ...@@ -904,7 +833,7 @@ export default class GameView extends engine.Container {
} }
//原地消失 //原地消失
goDisplayAni(ielitype,ielix,ieliy){ goDisplayAni(ielitype,ielix,ieliy){
// console.log("老原地消失"); console.log("老原地消失");
let aniele = MapData.getOneEle(ielitype); let aniele = MapData.getOneEle(ielitype);
aniele.alpha = 0; aniele.alpha = 0;
...@@ -1584,21 +1513,22 @@ export default class GameView extends engine.Container { ...@@ -1584,21 +1513,22 @@ export default class GameView extends engine.Container {
let txtcolor = "#bd882f"; let txtcolor = "#bd882f";
switch(ietype){ switch(ietype){
case ElementType.gdog: case ElementType.btiger:
txtcolor = "#d3ff6d"; txtcolor = "#ffffff";
break; break;
case ElementType.pbird: case ElementType.gtiger:
txtcolor = "#ff51d4"; txtcolor = "#f5a900";
break; break;
case ElementType.hniu: case ElementType.monkey:
txtcolor = "#ffab55"; txtcolor = "#bd882f";
break; break;
case ElementType.bribbit: case ElementType.bird:
txtcolor = "#b3d4ff"; txtcolor = "#54c1ef";
break; break;
case ElementType.rpig: case ElementType.koala:
txtcolor = "#f2453b"; txtcolor = "#c7c8c9";
break; break;
default: default:
console.error("未定义类型,检查"); console.error("未定义类型,检查");
break; break;
...@@ -1644,52 +1574,7 @@ export default class GameView extends engine.Container { ...@@ -1644,52 +1574,7 @@ export default class GameView extends engine.Container {
}else{ }else{
_v = false; _v = false;
} }
// this.homeimgday.visible = _v; this.homeimgday.visible = _v;
// this.homeimgnight.visible = !_v; this.homeimgnight.visible = !_v;
}
//使用炸弹
boomeEle(row,col){
this.useBoom = false;
this.anicontainer.removeChild(this.selectimg);
this.changeEnable(false);
this.selectArr = new Array();
// console.log("使用炸弹rc",row,col);
this.eliminateArr = new Array();
for(let r=0;r<MapData.row;r++){
let irc = r+"_"+col;
let ielename = this.lattices[irc];
let iele:Element = this.container.getChildByName(ielename);
if(iele){
let eletype = iele.type;
this.eliminateArr.push([
{
idxname:irc,
type:eletype
}
])
}
}
for(let c=0;c<MapData.col;c++){
if(c!=col){
let irc = row+"_"+c;
let ielename = this.lattices[irc];
let iele:Element = this.container.getChildByName(ielename);
if(iele){
let eletype = iele.type;
this.eliminateArr.push([
{
idxname:irc,
type:eletype
}
])
}
}
}
// console.log("使用炸弹消除的元素",this.eliminateArr);
this.eliminate();
} }
} }
import Element from "./ele/Element"; import Element from "./ele/Element";
import { getTextureByName } from "./utils"; import { getTextureByName } from "./utils";
export enum ElementType{ export enum ElementType{
gdog = 1, btiger = 1,
pbird, gtiger,
hniu, monkey,
bribbit, bird,
rpig koala
} }
export enum GameEvent{ export enum GameEvent{
SelectEle = "SelectEle", SelectEle = "SelectEle",
} }
export default class MapData{ export default class MapData{
//单格大小 //单格大小
static itemsize = 116; static itemsize = 129;
// //
static paddingw = 7; static paddingb = 10;
static paddingh = 7; static paddingi = 5;
static paddingwi = 4;
static paddinghi = 2;
// //
static row = 5; static row = 5;
static col = 5; static col = 5;
...@@ -30,11 +28,11 @@ export default class MapData{ ...@@ -30,11 +28,11 @@ export default class MapData{
static anispeed = 1000; static anispeed = 1000;
static gdotTex:engine.Texture; static btigerTex:engine.Texture;
static pbirdTex:engine.Texture; static gtigerTex:engine.Texture;
static hniuTex:engine.Texture; static monkeyTex:engine.Texture;
static bribbitTex:engine.Texture; static birdTex:engine.Texture;
static rpigTex:engine.Texture; static koalaTex:engine.Texture;
static levelData:Array<Array<Array<number>>> = [ static levelData:Array<Array<Array<number>>> = [
[ [
...@@ -75,10 +73,10 @@ export default class MapData{ ...@@ -75,10 +73,10 @@ export default class MapData{
] ]
static getRy(r){ static getRy(r){
return this.paddingh+r*(this.itemsize+this.paddinghi); return this.paddingb+r*(this.itemsize+this.paddingi);
} }
static getCx(c){ static getCx(c){
return this.paddingw+c*(this.itemsize+this.paddingwi); return this.paddingb+c*(this.itemsize+this.paddingi);
} }
static getRCPos(r,c){ static getRCPos(r,c){
let x = this.getCx(c); let x = this.getCx(c);
...@@ -94,20 +92,20 @@ export default class MapData{ ...@@ -94,20 +92,20 @@ export default class MapData{
static getEtypeImgName(type:ElementType){ static getEtypeImgName(type:ElementType){
let ename:string; let ename:string;
switch(type){ switch(type){
case ElementType.gdog: case ElementType.btiger:
ename = ""; ename = "白虎";
break; break;
case ElementType.pbird: case ElementType.gtiger:
ename = ""; ename = "雌虎";
break; break;
case ElementType.hniu: case ElementType.monkey:
ename = ""; ename = "猴子";
break; break;
case ElementType.bribbit: case ElementType.bird:
ename = "兔子"; ename = "";
break; break;
case ElementType.rpig: case ElementType.koala:
ename = ""; ename = "树熊";
break; break;
default: default:
console.error("未定义元素类型"); console.error("未定义元素类型");
...@@ -118,40 +116,40 @@ export default class MapData{ ...@@ -118,40 +116,40 @@ export default class MapData{
static getEtypeImgTex(type:ElementType){ static getEtypeImgTex(type:ElementType){
let etex:engine.Texture; let etex:engine.Texture;
switch(type){ switch(type){
case ElementType.gdog: case ElementType.btiger:
if(!this.gdotTex){ if(!this.btigerTex){
this.gdotTex = getTextureByName("狗"); this.btigerTex = getTextureByName("白虎");
console.log("新素材加载---"); console.log("新素材加载---白虎");
} }
etex = this.gdotTex; etex = this.btigerTex;
break; break;
case ElementType.pbird: case ElementType.gtiger:
if(!this.pbirdTex){ if(!this.gtigerTex){
this.pbirdTex = getTextureByName("鸟"); this.gtigerTex = getTextureByName("雌虎");
console.log("新素材加载---"); console.log("新素材加载---雌虎");
} }
etex = this.pbirdTex; etex = this.gtigerTex;
break; break;
case ElementType.hniu: case ElementType.monkey:
if(!this.hniuTex){ if(!this.monkeyTex){
this.hniuTex = getTextureByName("牛"); this.monkeyTex = getTextureByName("猴子");
console.log("新素材加载---"); console.log("新素材加载---猴子");
} }
etex = this.hniuTex; etex = this.monkeyTex;
break; break;
case ElementType.bribbit: case ElementType.bird:
if(!this.bribbitTex){ if(!this.birdTex){
this.bribbitTex = getTextureByName("兔子"); this.birdTex = getTextureByName("鸟");
console.log("新素材加载---兔子"); console.log("新素材加载---");
} }
etex = this.bribbitTex; etex = this.birdTex;
break; break;
case ElementType.rpig: case ElementType.koala:
if(!this.rpigTex){ if(!this.koalaTex){
this.rpigTex = getTextureByName("猪"); this.koalaTex = getTextureByName("树熊");
console.log("新素材加载---"); console.log("新素材加载---树熊");
} }
etex = this.rpigTex; etex = this.koalaTex;
break; break;
default: default:
console.error("未定义元素类型"); console.error("未定义元素类型");
...@@ -161,22 +159,22 @@ export default class MapData{ ...@@ -161,22 +159,22 @@ export default class MapData{
} }
static getRandEtype(){ static getRandEtype(){
let eletypeArr = [ElementType.gdog,ElementType.pbird,ElementType.hniu,ElementType.bribbit,ElementType.rpig]; let eletypeArr = [ElementType.btiger,ElementType.gtiger,ElementType.monkey,ElementType.bird,ElementType.koala];
let etype = eletypeArr[Math.floor(Math.random()*eletypeArr.length)]; let etype = eletypeArr[Math.floor(Math.random()*eletypeArr.length)];
return etype; return etype;
} }
static initPoolEle(){ static initPoolEle(){
// console.error("初始化元素池"); // console.error("初始化元素池");
this.gdotTex = getTextureByName("狗"); this.btigerTex = getTextureByName("白虎");
this.pbirdTex = getTextureByName("鸟"); this.gtigerTex = getTextureByName("雌虎");
this.hniuTex = getTextureByName("牛"); this.monkeyTex = getTextureByName("猴子");
this.bribbitTex = getTextureByName("兔子"); this.birdTex = getTextureByName("鸟");
this.rpigTex = getTextureByName("猪"); this.koalaTex = getTextureByName("树熊");
let eletypes = [ElementType.gdog,ElementType.pbird,ElementType.hniu,ElementType.bribbit,ElementType.rpig]; let eletypes = [ElementType.btiger,ElementType.gtiger,ElementType.monkey,ElementType.bird,ElementType.koala];
this.elePool["ele"] = new Array(); this.elePool["ele"] = new Array();
//初始5*5个元素备用; //初始5*5个元素备用;
for(let i=0;i<eletypes.length;i++){ for(let i=0;i<eletypes.length;i++){
......
...@@ -40,6 +40,8 @@ export default class Element extends engine.Container{ ...@@ -40,6 +40,8 @@ export default class Element extends engine.Container{
// console.log("大小",imgwid,imghei); // console.log("大小",imgwid,imghei);
this.eimage.x = (this.width - imgwid)/2; this.eimage.x = (this.width - imgwid)/2;
this.eimage.y = (this.height-imghei)/2; this.eimage.y = (this.height-imghei)/2;
} }
setrc(r,c){ setrc(r,c){
this.inrow = r; this.inrow = r;
......
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