所以我希望一个单位能够随机瞄准一个玩家单位或玩家盟友。 我将所有盟友船都存放在一个阵列中,并且玩家分别在舞台上。
以下是子弹创建的代码,删除了无关的内容。
private function createBullet(): void {
var rand = allies[Math.floor(Math.random()*allies.length)];
_endX = rand.x
_endY = rand.y
}
使用上面的代码,我可以让他们成为随机盟友的目标,但我也想让它在随机选择目标时包含玩家船(_player),但是我不能将玩家添加到盟友阵列中,所以我不确定怎么做。
答案 0 :(得分:1)
当您将随机数乘以数组长度时,请将长度加一。 如果生成的索引等于盟友长度,则表示“rand”是_player。
var randomIndex:int = Math.floor(Math.random() * (allies.length + 1));
var rand:*;
if (randomIndex == allies.length - 1)
rand = _player;
else
rand = allies[randomIndex];
...