Commit 942737e1 authored by wildfirecode's avatar wildfirecode

1

parent 15f1811a
No preview for this file type
This diff is collapsed.
...@@ -12,9 +12,13 @@ ...@@ -12,9 +12,13 @@
function injectProps(p) { function injectProps(p) {
engine.injectProp(props, p); engine.injectProp(props, p);
} }
//# sourceMappingURL=props.js.map
var picMap = {};
var posMap = {};
var qietu = (function (parent, url, MAX_COL, MAX_ROW) { var qietu = (function (parent, url, MAX_COL, MAX_ROW) {
if (picMap[url]) {
return [picMap[url], posMap[url]];
}
var W = props.W; var W = props.W;
var H = props.H; var H = props.H;
var GAP = props.GAP; var GAP = props.GAP;
...@@ -51,10 +55,17 @@ ...@@ -51,10 +55,17 @@
for (var row = 0; row < MAX_ROW; row++) { for (var row = 0; row < MAX_ROW; row++) {
_loop_1(row); _loop_1(row);
} }
picMap[url] = spr.concat([]);
posMap[url] = pos.concat([]);
return [spr, pos]; 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) { function getIndexFromRC(row, col, maxCol) {
var index = row * maxCol + col; var index = row * maxCol + col;
return index; return index;
...@@ -64,7 +75,6 @@ ...@@ -64,7 +75,6 @@
return .5 - Math.random(); return .5 - Math.random();
}); });
} }
//# sourceMappingURL=utils.js.map
var MAX_COL; var MAX_COL;
var MAX_ROW; var MAX_ROW;
...@@ -90,6 +100,7 @@ ...@@ -90,6 +100,7 @@
second: this.getSecond(), second: this.getSecond(),
}); });
var result = qietu(this.picturesWrapper, props.picUrl, MAX_COL, MAX_ROW); var result = qietu(this.picturesWrapper, props.picUrl, MAX_COL, MAX_ROW);
this.picturesWrapper.addChild(this.guideHole);
this.pictures = result[0]; this.pictures = result[0];
this.rightList = this.pictures.concat([]); this.rightList = this.pictures.concat([]);
var posList = result[1]; var posList = result[1];
...@@ -129,6 +140,8 @@ ...@@ -129,6 +140,8 @@
}; };
GameView.prototype.createRects = function () { }; GameView.prototype.createRects = function () { };
GameView.prototype.setup = function () { GameView.prototype.setup = function () {
this.guideHole = new engine.Image(getTextureByName('遮罩'));
this.guideHole.mouseChildren = this.guideHole.mouseEnabled = false;
MAX_COL = props.MAX_COL; MAX_COL = props.MAX_COL;
MAX_ROW = props.MAX_ROW; MAX_ROW = props.MAX_ROW;
GAME_TIME = props.GAME_TIME; GAME_TIME = props.GAME_TIME;
...@@ -159,6 +172,7 @@ ...@@ -159,6 +172,7 @@
}; };
GameView.prototype.stageOnUp = function (e) { GameView.prototype.stageOnUp = function (e) {
this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMove, this); this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onMove, this);
this.picturesWrapper.addChild(this.guideHole);
var curJ = Math.floor(this.centerX / (w + GAP)); var curJ = Math.floor(this.centerX / (w + GAP));
var curI = Math.floor(this.centerY / (h + GAP)); var curI = Math.floor(this.centerY / (h + GAP));
if (curJ < MAX_COL && curI < MAX_ROW) { if (curJ < MAX_COL && curI < MAX_ROW) {
...@@ -200,7 +214,6 @@ ...@@ -200,7 +214,6 @@
}; };
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);
...@@ -221,7 +234,6 @@ ...@@ -221,7 +234,6 @@
}; };
return GameWrapper; return GameWrapper;
}(engine.Container)); }(engine.Container));
//# sourceMappingURL=GameWrapper.js.map
function index (props) { function index (props) {
prepareProps(); prepareProps();
...@@ -229,7 +241,6 @@ ...@@ -229,7 +241,6 @@
var instance = new GameWrapper(); var instance = new GameWrapper();
return instance; return instance;
} }
//# sourceMappingURL=index.js.map
return index; return index;
......
This diff is collapsed.
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
"MAX_COL": { "MAX_COL": {
"alias": "图片分成几列", "alias": "图片分成几列",
"type": "number", "type": "number",
"default": 4 "default": 3
}, },
"MAX_ROW": { "MAX_ROW": {
"alias": "图片分成几行", "alias": "图片分成几行",
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
"GAP": { "GAP": {
"alias": "图片间隙", "alias": "图片间隙",
"type": "number", "type": "number",
"default": 10 "default": 0
}, },
"GAME_TIME": { "GAME_TIME": {
"alias": "游戏时间", "alias": "游戏时间",
...@@ -36,8 +36,8 @@ ...@@ -36,8 +36,8 @@
}, },
"assets": [ "assets": [
{ {
"name": "测试资源", "name": "遮罩",
"url": "//yun.duiba.com.cn/aurora/assets/50a7212a113175fa18c866b005d98f07c558dc77.png", "url": "//yun.duiba.com.cn/aurora/assets/5b3e30496b2d9fdafb0cf3835fd6704ce10e45b4.png",
"uuid": "66f23d13-82a5-4cec-9496-301ec240d087", "uuid": "66f23d13-82a5-4cec-9496-301ec240d087",
"ext": ".png" "ext": ".png"
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
import { props } from "../props"; import { props } from "../props";
import qietu from "./qietu"; import qietu from "./qietu";
import { getIndexFromRC, getRandomArray } from "./utils"; import { getIndexFromRC, getRandomArray, getTextureByName } from "./utils";
import ObjectPool = engine.ObjectPool; import ObjectPool = engine.ObjectPool;
let MAX_COL; let MAX_COL;
...@@ -29,6 +29,7 @@ export default class GameView extends engine.Container { ...@@ -29,6 +29,7 @@ export default class GameView extends engine.Container {
// 图片一维数组 // 图片一维数组
const result = qietu(this.picturesWrapper, props.picUrl, MAX_COL, MAX_ROW); const result = qietu(this.picturesWrapper, props.picUrl, MAX_COL, MAX_ROW);
this.picturesWrapper.addChild(this.guideHole);
this.pictures = result[0]; this.pictures = result[0];
this.rightList = this.pictures.concat([]); this.rightList = this.pictures.concat([]);
const posList = result[1]; const posList = result[1];
...@@ -109,9 +110,13 @@ export default class GameView extends engine.Container { ...@@ -109,9 +110,13 @@ export default class GameView extends engine.Container {
countTime = 10; countTime = 10;
private picturesWrapper: engine.Sprite; private picturesWrapper: engine.Sprite;
private guideHole: engine.Sprite;
createRects() { } createRects() { }
setup() { setup() {
this.guideHole = new engine.Image(getTextureByName('遮罩'));
this.guideHole.mouseChildren = this.guideHole.mouseEnabled = false;
MAX_COL = props.MAX_COL; MAX_COL = props.MAX_COL;
MAX_ROW = props.MAX_ROW; MAX_ROW = props.MAX_ROW;
GAME_TIME = props.GAME_TIME; GAME_TIME = props.GAME_TIME;
...@@ -174,6 +179,8 @@ export default class GameView extends engine.Container { ...@@ -174,6 +179,8 @@ export default class GameView extends engine.Container {
this this
); );
this.picturesWrapper.addChild(this.guideHole);
// 判断图片是否进入另一张图片的范围内 // 判断图片是否进入另一张图片的范围内
// 图片第几行第几列 // 图片第几行第几列
let curJ = Math.floor(this.centerX / (w + GAP)); let curJ = Math.floor(this.centerX / (w + GAP));
......
import { props } from "../props"; import { props } from "../props";
const urls = [];
const picMap = {};
const posMap = {};
export default (parent, url, MAX_COL, MAX_ROW) => { export default (parent, url, MAX_COL, MAX_ROW) => {
if (picMap[url]) {
return [picMap[url], posMap[url]]
}
const W = props.W; const W = props.W;
const H = props.H; const H = props.H;
...@@ -20,6 +26,7 @@ export default (parent, url, MAX_COL, MAX_ROW) => { ...@@ -20,6 +26,7 @@ export default (parent, url, MAX_COL, MAX_ROW) => {
child.x = col * (W / MAX_COL + GAP); child.x = col * (W / MAX_COL + GAP);
child.y = row * (H / MAX_ROW + 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, () => { child.addEventListener(engine.Event.COMPLETE, () => {
const uvs = new Float32Array([ const uvs = new Float32Array([
col / MAX_COL, col / MAX_COL,
...@@ -37,6 +44,8 @@ export default (parent, url, MAX_COL, MAX_ROW) => { ...@@ -37,6 +44,8 @@ export default (parent, url, MAX_COL, MAX_ROW) => {
}); });
} }
} }
picMap[url] = spr.concat([]);
posMap[url] = pos.concat([]);;
// console.log(spr); // 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