0

我正在尝试制作一个涉及将活动敌人列表保存为数组的游戏。这是我的代码:

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);
};

我可以通过创建一个数组来存储每个属性和一个索引数组来解决这个问题,但这需要大量的重写。谁能想到更好的方法?

4

1 回答 1

0

尝试将你的敌人推向阵列:

enemies.push(new enemy(testDroid, 400, 400, 0));
enemies.push(new enemy(testDroid2, 400, 400, 0));
于 2013-08-31T01:21:19.977 回答