Commit 9d869388 authored by zjz1994's avatar zjz1994

工行消消乐还原

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