这是我的游戏敌人的构造函数:
enter code here:
/// my constructor for enemy
function masinaCon(x,y,width,height,color){
this.x=x;
this.y=y;
this.width=width;
this.height=height;
this.color=color;
this.draw=function(){
ctx.fillStyle=color;
ctx.fillRect(x,y,width,height);
};
}
// color of contsructor
function color(){
return 'rgb('+Math.floor(Math.random()*1000)+','+Math.floor(Math.random()*100)+','+Math.floor(Math.random()*180)+')';
}
// array of enemy
var niz=[];
/////////////////////////////代码结尾
我用10个对象填充数组(var niz = [])并且我想将第三个对象向下移动2个像素,以便在每个帧中重复,以使其看起来像游戏(下降效果=> NIZ [2] + .Y = 2)
当我打印时,对象中的坐标正在增加,但是当我打印它们(对象)时,没有任何变化(视觉上),有人可以帮我解决这个问题。
答案 0 :(得分:0)
很简单。 x和y引用构造函数中的原始值。只需更新绘图函数中的x和y,即可使用this
this.draw=function(){
ctx.fillStyle=color;
ctx.fillRect(this.x,this.y,this.width,this.height); // x->this.x etc
};