位置を除いて、すべて同じ変数を共有する同じオブジェクトを開始する最良の方法は何だろうと思っています。
私は基本的に 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();
}
};