我对Javascript很陌生,而我要提出的问题可能非常简陋,但我仍然坚持一个项目,而且我还想要一些帮助。< / p>
基本上我正在做一个小型的Javascript项目,我希望在那里有一些敌人。一开始会有0个敌人,然后随着时间的推移,可能会产生更多的敌人。我在想,无论何时创建敌人,我都应该将其创建为一个对象,然后将其存储在一个包含游戏中所有活跃敌人的数组中。然后,稍后,我可以从阵列中移除需要移除的敌人。
这是创建我的敌人对象的函数:
function enemy(name, strength, rarity, estTime, success, remTime, Id){
this.name = name;
this.strength = strength;
this.rarity = rarity;
this.estTime = estTime;
this.success = success;
this.remTime = remTime;
this.Id = Id;
}
&#13;
所以,我可以创造一些像这样的敌人:
var enemy1 = new enemy("Bob", 1, "Common", 100, 1, 30, 1)
var enemy2 = new enemy("Cow", 22, "Rare", 50, 10, 40, 2)
var enemy3 = new enemy("Pig", 333, "Epic", 25, 10, 50, 3)
&#13;
然后我可以创建一个敌人阵列,并将我的3个敌人放入该阵列中:
var enemies = [];
enemies = [enemy1, enemy2, enemy3];
&#13;
当我手动执行此操作时,所有细节和花花公子,但当我想尝试让代码自动创建更多敌人时问题就出现了。 假设每次用户按下按钮时我都想创建一个敌人。敌人的名字会得到一些名字,力量,稀有性,以及下一个Id在线(在这种情况下1,2和3正在使用,所以下一个将是4)。 我以为我可以这样做,但这不起作用:
enemy[enemies.length + 1] = new enemy("Dog", 444, "Epic", 13, 100, 60, 4);
enemies.push(enemy + [enemies.length + 1]);
&#13;
我希望这会创建一个名为&#34; enemy4&#34;使用name,id和我刚输入的任何内容,然后将该对象添加到敌人数组中。
但这显然不起作用。我希望你们了解这个问题,非常感谢任何帮助。我意识到我可能只是接近这一切都错了,而且可能存在一种更为简单的方法。
谢谢!
编辑:是的,答案非常简单,现在就知道了。谢谢!
答案 0 :(得分:1)
var enemies = [
new enemy(/*params here*/),
new enemy(/*params here*/),
new enemy(/*params here*/),
new enemy(/*params here*/),
new enemy(/*params here*/)
];
然后:
enemies.push(
new enemy(/*params here*/)
);