首先,我是编程新手,Stackoverflow让我很害怕,但我试图包含所有相关代码并很好地解释我的问题.我已经看到很多其他关于试图制造太空入侵者克隆人的帖子,甚至还有特别是"入侵者"并没有齐声移动.然而,这些帖子并没有解决我的问题,如果有人能指出我可能出错的地方,我将非常感激.
代码包含我试图愚弄代码:)的评论.我正在使用"processing.js"库,但这不应该妨碍任何人理解我的代码.
我的具体问题是侵入者在X轴上移动时的行为不一致,并且它们并不总是同时移动.起初似乎一切都很好(减去第一个入侵者有点滞后),但随着时间的推移,行为变得不稳定,他们开始变得不合时宜.
我实际上已经理解了我的逻辑中的缺陷,但我不知道如何解决它.但是,在我解释之前..
我将空间入侵者加载到二维数组中,如下所示:
var enemies = [];
for(var i = 0; i < ROWS; i++) {
var newRow = [];
for(var y = 0; y < COLS; y++){
newRow.push(new Enemy(y * 40 + 40, i * 30));
}
enemies.push(newRow);
}
Run Code Online (Sandbox Code Playgroud)
我的敌人是:
var Enemy = function(x,y) {
this.height = 30;
this.width = 30;
this.x = x;
this.y = y;
this.speed = 15;
};
Enemy.prototype.draw = function() {
image(invader, this.x, this.y, this.width, this.height);
};
Run Code Online (Sandbox Code Playgroud)
它们在"绘制"(基本上是processing.js的"更新"版本)循环中绘制和移动.像这样:
for(var …Run Code Online (Sandbox Code Playgroud)