我只是想知道启动所有共享相同变量的相同对象的最佳方法是什么,除了它们的位置。
我基本上是在处理我的 HTML5 游戏的场景,并且我已经构建了一个可以打开和关闭的路灯柱。所有的灯都将具有相同的变量,例如图像、尺寸、开/关功能。唯一不同的是位置 x 和 y。
我在一个变量函数中构建了我的灯(我认为它们被称为'var = {'),在我的实际游戏 DrawFunction 中,我调用的是'LampPost.draw();'。
有可能做这样的事情吗?
LampPost(0,0);
LampPost(100, 0);
LampPost(200, 0);
等等......然后可能将每个启动的灯放在一个数组中?
这是灯的片段代码:
var LampPost = {
lamp_xsprite : 0,
lamp_ysprite : 0,
light_xsprite : 0,
lightysprite : 0,
x : 440,
y : 320,
//Flicker effects
lightFlicker : 0,
seconds_Off : 0,
seconds_On : 0,
randomLength_Off : 500,
randomLength_On : 150,
draw: function(x, y) {
this.x = x;
this.y = y;
ctxPropsOver.setTransform(1, 0, 0, 1, -Map.x + gameWidth/2, -Map.y + gameHeight/2);
ctxPropsOver.rotate(Math.PI / -25);
ctxPropsOver.clearRect(0, 0, 1000, 1000);
ctxPropsOver.globalAlpha = this.lightFlicker;
ctxPropsOver.drawImage(imgLights, 0, 36, 500, 463, -60 + this.x, -190 + this.y, 500, 463);
ctxPropsOver.globalAlpha = 1;
ctxPropsOver.drawImage(imgLights, 0, 0, 210, 36, 0 + this.x, 0 + this.y, 210, 36);
this.flicker();
}
};