actionscript 3 - 随机对象选择

actionscript 3 - random object selection

所以我希望一个单位能够随机瞄准玩家单位或玩家盟友。 我将所有盟军船只存储在一个数组中,玩家分别在舞台上。

以下是创建子弹的代码,删除了不相关的内容。

private function createBullet(): void {
    var rand = allies[Math.floor(Math.random()*allies.length)]; 

        _endX = rand.x 
        _endY = rand.y 

    }

使用上面的代码,我可以让它们以随机盟友飞船为目标,但我也希望它在随机选择目标时包括玩家飞船 (_player),但我无法将玩家添加到盟友数组中,所以我不知道真的确定要做什么。

当你用一个随机数乘以数组的长度时,长度加一。 如果生成的索引等于盟友长度,这意味着 "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];
...