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 也类似于 blockArray[0]'sx 值更改,而不是保留初始值 100。
我做错了什么?以及如何在不影响数组中其他对象的情况下更改 blockArray[0]'sx?
编辑:更新了代码。segment 是一个带有 Block 元素的数组。