Commit 3f49b0e4 authored by 汪欢's avatar 汪欢

拼图0.2

parents 6d9121cd 942737e1
No preview for this file type
This diff is collapsed.
......@@ -47,7 +47,7 @@ function launchWithCustomModule(customModule) {
setTimeout(() => {
engine.globalEvent.dispatchEvent('pictures-start', {
picUrl: "http://yun.duiba.com.cn/aurora/assets/fb06e66c26f17b00f677367bd7571a1aa9b1ade4.png"
picUrl: "http://yun.duiba.com.cn/aurora/assets/e1593b97c27077b85b92f7eaaeae1ed64a1eb79a.png"
});
}, 500);
......
......@@ -12,12 +12,16 @@
function injectProps(p) {
engine.injectProp(props, p);
}
//# sourceMappingURL=props.js.map
var picMap = {};
var posMap = {};
var qietu = (function (parent, url, MAX_COL, MAX_ROW) {
var W = 600;
var H = 600;
var GAP = 10;
if (picMap[url]) {
return [picMap[url], posMap[url]];
}
var W = props.W;
var H = props.H;
var GAP = props.GAP;
var spr = [];
var pos = [];
var _loop_1 = function (row) {
......@@ -51,10 +55,17 @@
for (var row = 0; row < MAX_ROW; row++) {
_loop_1(row);
}
picMap[url] = spr.concat([]);
posMap[url] = pos.concat([]);
return [spr, pos];
});
//# sourceMappingURL=qietu.js.map
function getTexture(uuid) {
return engine.Texture.from(getAssetByUUID(uuid).uuid);
}
function getTextureByName(name) {
return getTexture(engine.getAssetByName(name).uuid);
}
function getIndexFromRC(row, col, maxCol) {
var index = row * maxCol + col;
return index;
......@@ -64,7 +75,6 @@
return .5 - Math.random();
});
}
//# sourceMappingURL=utils.js.map
var MAX_COL;
var MAX_ROW;
......@@ -89,6 +99,7 @@
second: this.getSecond(),
});
var result = qietu(this.picturesWrapper, props.picUrl, MAX_COL, MAX_ROW);
this.picturesWrapper.addChild(this.guideHole);
this.pictures = result[0];
this.rightList = this.pictures.concat([]);
var posList = result[1];
......@@ -138,6 +149,8 @@
};
GameView.prototype.createRects = function () { };
GameView.prototype.setup = function () {
this.guideHole = new engine.Image(getTextureByName('遮罩'));
this.guideHole.mouseChildren = this.guideHole.mouseEnabled = false;
MAX_COL = props.MAX_COL;
MAX_ROW = props.MAX_ROW;
GAME_TIME = props.GAME_TIME;
......@@ -168,6 +181,7 @@
};
GameView.prototype.stageOnUp = function (e) {
this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMove, this);
this.picturesWrapper.addChild(this.guideHole);
var curJ = Math.floor(this.centerX / (w + GAP));
var curI = Math.floor(this.centerY / (h + GAP));
if (curJ < MAX_COL && curI < MAX_ROW) {
......@@ -237,7 +251,6 @@
};
return GameWrapper;
}(engine.Container));
//# sourceMappingURL=GameWrapper.js.map
function index (props) {
prepareProps();
......@@ -245,7 +258,6 @@
var instance = new GameWrapper();
return instance;
}
//# sourceMappingURL=index.js.map
return index;
......
This diff is collapsed.
......@@ -10,22 +10,26 @@
"MAX_ROW": {
"alias": "图片分成几行",
"type": "number",
<<<<<<< HEAD
"default": 3
=======
"default": 4
>>>>>>> 942737e103f614239f421c98ab5a0e18935bc709
},
"W": {
"alias": "图片的宽度",
"type": "number",
"default": 600
"default": 618
},
"H": {
"alias": "图片的高度",
"type": "number",
"default": 600
"default": 827
},
"GAP": {
"alias": "图片间隙",
"type": "number",
"default": 10
"default": 0
},
"GAME_TIME": {
"alias": "游戏时间",
......@@ -36,36 +40,23 @@
},
"assets": [
{
"name": "测试资源",
"url": "//yun.duiba.com.cn/aurora/assets/50a7212a113175fa18c866b005d98f07c558dc77.png",
"name": "遮罩",
"url": "//yun.duiba.com.cn/aurora/assets/5b3e30496b2d9fdafb0cf3835fd6704ce10e45b4.png",
"uuid": "66f23d13-82a5-4cec-9496-301ec240d087",
"ext": ".png"
}
],
"events": {
"in": {
"pictures-reset": {
"alias": "重置",
"pictures-start": {
"alias": "开始",
"data": {
"goodsProbability": "[0.2,0.5,0.3]道具概率(雨滴、石头、炸弹),所有概率相加为1",
"countDown": "倒计时(s)",
"acceleratedSpeed":"道具掉落加速度(单位:每秒)"
"picUrl":"图片路径"
}
},
"pictures-start": {
"alias": "开始"
},
"pictures-revive": {
"alias": "复活"
},
"pictures-pause": {
"alias": "暂停"
},
"pictures-resume": {
"alias": "恢复"
},
"pictures-clear": {
"alias": "清空,通过reset事件恢复"
"pictures-stop": {
"alias": "停止"
}
},
"out": {
......
......@@ -4,7 +4,7 @@
import { props } from "../props";
import qietu from "./qietu";
import { getIndexFromRC, getRandomArray } from "./utils";
import { getIndexFromRC, getRandomArray, getTextureByName } from "./utils";
import ObjectPool = engine.ObjectPool;
let MAX_COL;
......@@ -32,6 +32,7 @@ export default class GameView extends engine.Container {
// 图片一维数组
const result = qietu(this.picturesWrapper, props.picUrl, MAX_COL, MAX_ROW);
this.picturesWrapper.addChild(this.guideHole);
this.pictures = result[0];
this.rightList = this.pictures.concat([]);
const posList = result[1];
......@@ -128,9 +129,13 @@ export default class GameView extends engine.Container {
private picturesWrapper: engine.Sprite;
private guideHole: engine.Sprite;
createRects() { }
setup() {
this.guideHole = new engine.Image(getTextureByName('遮罩'));
this.guideHole.mouseChildren = this.guideHole.mouseEnabled = false;
MAX_COL = props.MAX_COL;
MAX_ROW = props.MAX_ROW;
GAME_TIME = props.GAME_TIME;
......@@ -193,6 +198,8 @@ export default class GameView extends engine.Container {
this
);
this.picturesWrapper.addChild(this.guideHole);
// 判断图片是否进入另一张图片的范围内
// 图片第几行第几列
let curJ = Math.floor(this.centerX / (w + GAP));
......
export default (parent, url,MAX_COL,MAX_ROW) => {
import { props } from "../props";
const urls = [];
const picMap = {};
const posMap = {};
export default (parent, url, MAX_COL, MAX_ROW) => {
if (picMap[url]) {
return [picMap[url], posMap[url]]
}
const W = 600;
const H = 600;
const GAP = 10;
const W = props.W;
const H = props.H;
const GAP = props.GAP;
const spr = [];
const pos = []
......@@ -18,7 +25,8 @@ export default (parent, url,MAX_COL,MAX_ROW) => {
parent.addChild(child);
child.x = col * (W / MAX_COL + GAP);
child.y = row * (H / MAX_ROW + GAP);
pos.push([child.x,child.y]);
pos.push([child.x, child.y]);
// child.texture.addEventListener('update', () => {
child.addEventListener(engine.Event.COMPLETE, () => {
const uvs = new Float32Array([
col / MAX_COL,
......@@ -36,6 +44,8 @@ export default (parent, url,MAX_COL,MAX_ROW) => {
});
}
}
picMap[url] = spr.concat([]);
posMap[url] = pos.concat([]);;
// console.log(spr);
return [spr,pos];
return [spr, pos];
};
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