我希望创建一个名为 allEnemies 的数组,其中包含属于“Enemy”类的“bug”。我试图在 for 循环中执行此操作,因为稍后 var“bug”将被修改。问题是“如果我正在创建它们”创建的对象不会进入数组“allEnmies”。预先感谢您。
var allEnemies = [];
var random_speed = function() {
return Math.floor(Math.random() * (300 - 80)) + 80;
};
var random_y = function() {
var postions = [60, 143, 226];
return positions[Math.floor(Math.random() * 3)];
};
var create_enemies = function() {
var bugs = 4;
for (var i = 0; i < bugs; i++) {
var bug = new Enemy();
bug.speed = random_speed();
bug.y = random_y();
bug.x = 0;
allEnemies.push(bug);
}
};
最佳答案
演示 - http://jsfiddle.net/ubkusb6r/
好的,有几件事:
1) 由于您已使用分配给变量的匿名函数声明了 for
循环,您需要通过该变量 create_enemies()
调用该函数。如果没有这个,您的代码将无法运行。
2) 您需要创建一个 Ememy 构造函数(如果您还没有这样做)。
3) 您在代码中的某个位置拼错了 position
...导致错误。
看看 JSFiddle,让我知道它是否回答了您的问题(fiddle 包含用于跟踪数组的 console.log 语句)。
关于javascript - 创建 for 循环对象并将它们插入数组 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749934/