我试图制作一个游戏,其中包括保存一个活跃的敌人的列表作为一个数组。这是我的代码:
function enemyBase(shipRace, shipClass, shipName, health, armour, cloak, regen, speed, dps, suicide, ionImmunity){
this.shipRace = shipRace;
this.shipClass = shipClass;
this.shipName = shipName;
};
function enemy(base, x, y, direction){
this.base = base;
this.x = x;
this.y = y;
this.direction = direction;
};
var enemies = [];
var testDroid = new enemyBase('Test', 'Test', 'EnemyBug', 1, 0, 0, 0, 1, 1, false, false);
var testDroid2 = new enemyBase('Test', 'Test', 'EnemyBug', 2, 0, 0, 0, 1, 1, false, false);
enemies[0] = new enemy(testDroid, 400, 400, 0);
enemies[1] = new enemy(testDroid2, 400, 400, 0);它不能工作,因为它不能将属性直接分配给数组中的一个位置,我试图这样访问它:
drawEnemy(enemies[0]);
function drawEnemy(enemy){
ctx.translate(enemy.x, enemy.y);
};我可以通过创建一个数组来存储每个属性和一个索引数组来修复这个问题,但是这需要大量重写。有人能想出更好的办法吗?
发布于 2013-08-31 01:21:19
试着把你的敌人推到数组上:
enemies.push(new enemy(testDroid, 400, 400, 0));
enemies.push(new enemy(testDroid2, 400, 400, 0));https://stackoverflow.com/questions/18543341
复制相似问题