function Block(){
this.x = 100;
this.y = 100;
}
// update canvas
function UpdateCanvas(){
// check if game is still on going
if (!isStopped)
{
for(var i = segments.length - 1; i > 0 ; i--)
{
segments[i] = segments[i - 1];
}
switch(direction)
{
case "left":
segments[0].x = segments[0].x - pixelChange;
DrawCanvas();
break;
case "right":
segments[0].x = segments[0].x + pixelChange;
DrawCanvas();
break;
case "up":
segments[0].y = segments[0].y - pixelChange;
DrawCanvas();
break;
case "down":
segments[0].y = segments[0].y + pixelChange;
DrawCanvas();
break;
}
}
}
配列とBlockというクラスを作成しました。配列に2つのオブジェクトを作成し、blockArray [0]のsxプロパティを別の番号に変更した後、blockArray[1]のsxも初期値の100を保持する代わりにblockArray[0]のsx値と同様に変更されます。
私は何を間違えていましたか?配列内の他のオブジェクトに影響を与えずにblockArray[0]のsxを変更するにはどうすればよいですか?
編集:コードを更新しました。セグメントは、ブロック要素を持つ配列です。