![](/img/trans.png)
[英]Time Limit Exceeded: How can I optimize my code in Javascript?
[英]How can i optimize my code in a JavaScript array?
这是我的代码。 如何重构它以轻松地将它们放入JavaScript数组? 这是我想放入数组中的一些pic容器。
Ace = new createjs.Bitmap(loader.getResult("Ace"));
aceContainer = new createjs.Container();
aceContainer.addChild(Ace);
aceContainer.x = 90;
aceContainer.y = 148;
aceContainer.width = 276 ;
aceContainer.height = 266;
stage.addChild(aceContainer);
K = new createjs.Bitmap(loader.getResult("K"));
kContainer = new createjs.Container();
kContainer.addChild(K);
kContainer.x = 376;
kContainer.y = 148;
kContainer.width = 276 ;
kContainer.height = 266;
stage.addChild(kContainer);
Q = new createjs.Bitmap(loader.getResult("Q"));
qContainer = new createjs.Container();
qContainer.addChild(Q);
qContainer.x = 662;
qContainer.y = 148;
qContainer.width = 276 ;
qContainer.height = 266;
stage.addChild(qContainer);
就像是
function doThingsPeter(s, x, y, width, height, root) {
var bm = new createjs.Bitmap(loader.getResult(s));
var container = new createjs.Container();
container.addChild(bm);
container.x = x;
container.y = y;
container.width = width;
container.height = height;
root.addChild(container);
return container;
}
var containers = [];
containers.push(doThingsPeter('Ace', 90, 148, 276, 266, stage));
containers.push(doThingsPeter('K', 376, 148, 276, 266, stage));
containers.push(doThingsPeter('Q', 662, 148, 276, 266, stage));
也许? 编辑:回应“关于容器命名”-我只能猜测您可能想要类似
function doThingsPeter(s, x, y, width, height, root) {
var bm = new createjs.Bitmap(loader.getResult(s));
var container = new createjs.Container();
container.addChild(bm);
container.x = x;
container.y = y;
container.width = width;
container.height = height;
root.addChild(container);
return container;
}
var containers = {};
containers.Ace = doThingsPeter('Ace', 90, 148, 276, 266, stage);
containers.K = doThingsPeter('K', 376, 148, 276, 266, stage);
containers.Q = doThingsPeter('Q', 662, 148, 276, 266, stage);
但这不是一个数组
还是您想要类似的东西:
var containers = {};
var bitmaps = {};
var arrayOfThings = [
{ target: 'Ace', x: 90, y: 148, width: 276, height: 266},
{ target: 'K', x: 376, y: 148, width: 276, height: 266},
{ target: 'Q', x: 662, y: 148, width: 276, height: 266}
];
arrayOfThings.forEach(function(thing) {
var target = thing.target;
var bm = bitmaps[target] = new createjs.Bitmap(loader.getResult(target));
var container = containers[target] = new createjs.Container();
container.addChild(bm);
container.x = thing.x;
container.y = thing.y;
container.width = thing.width;
container.height = thing.height;
stage.addChild(container);
});
结果是:
Ace
容器 Ace
位图 等等
第四次和最后一次尝试(再次基于评论)
function doThingsPeter(s, x, y, width, height, root) {
var bm = new createjs.Bitmap(loader.getResult(s));
var container = new createjs.Container();
container.addChild(bm);
container.x = x;
container.y = y;
container.width = width;
container.height = height;
root.addChild(container);
return container;
}
aceContainer = doThingsPeter('Ace', 90, 148, 276, 266, stage);
kContainer = doThingsPeter('K', 376, 148, 276, 266, stage);
qContainer = doThingsPeter('Q', 662, 148, 276, 266, stage);
现在,根据您的问题有了aceContainer,kContainer和qContainer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.