优化
在任何事情之前,您应该在循环之外声明您的变量以避免存储 n 个变量。
回答
填充宽度
您可以将之前的 x 存储在一个变量中,并确保每个敌人之间的距离最小。这是如果你想用敌人填满你的屏幕,不管他们有多少。
var bd:MovieClip;
var previousX:uint=0;
while (previousX + 150 < stage.stageWidth)
{
bd = new bdenemy();
enemy1.push(bd);
addChild(bd);
bd.x = previousX + 50 + Math.random() * 100;
bd.y = 50;
}
50是两个敌人之间的最小差距。
固定值
如果你想有 6 个敌人,整齐地分布在屏幕上,你可以为每个敌人引入一个位置跨度。
var bd:MovieClip;
const N_ENEMIES:uint = 6;
var span:uint = stage.stageWidth / N_ENEMIES;
for (var i:int=0; i < N_ENEMIES; i++)
{
bd = new bdenemy();
enemy1[i] = bd;
addChild(bd);
bd.x = i * span + Math.random() * span;
bd.y = 50;
}
在那里,每个敌人在其跨度内都会有一个随机位置。