actionscript 3 - 随机对象选择

时间:2015-02-08 18:24:58

标签: actionscript-3 random selection

所以我希望一个单位能够随机瞄准一个玩家单位或玩家盟友。 我将所有盟友船都存放在一个阵列中,并且玩家分别在舞台上。

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

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

        _endX = rand.x 
        _endY = rand.y 

    }

使用上面的代码,我可以让他们成为随机盟友的目标,但我也想让它在随机选择目标时包含玩家船(_player),但是我不能将玩家添加到盟友阵列中,所以我不确定怎么做。

1 个答案:

答案 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];
...