如何产生一定数量的敌人?

时间:2013-03-19 11:59:55

标签: actionscript-3

我正在开发一款基于Asgamer教程的游戏。我目前正试图让5个敌人直接产卵。产生敌人的代码是:

var enemy:Stinger = new Stinger(stage, ourShip);
enemyList.push(enemy);
stage.addChild(enemy);

我知道我需要以某种方式循环这个代码3次,但是我使用循环的所有尝试都失败了,非常糟糕。应该注意我刚刚进入动作脚本,所以我现在是一个完整的菜鸟,我需要非常基本的指示。

2 个答案:

答案 0 :(得分:1)

你需要一个循环。像:

for (var i:Number=0; i<3, i++){
     var enemy:Stinger = new Stinger(stage, ourShip);
     enemyList.push(enemy);
     stage.addChild(enemy);
}

有关for循环和迭代的更多信息,请访问:http://www.republicofcode.com/tutorials/flash/as3loops/

答案 1 :(得分:0)

你说你需要制造五个敌人,但是你说你需要循环三次。除非你做一些不寻常的事情,循环三次会让你三个敌人,循环五次会让你有五个敌人。

var enemy:Stinger;
for (var i:int = 0; i < 5; i++)
{
    enemy = new Stinger(stage, ourShip);
    enemyList.push(enemy);
    stage.addChild(enemy);
}

敌人的声明被排除在循环之外,以防止不断破坏和重建变量。听起来你还在学习循环,所以这基本上就是发生了什么:

var enemy:Stinger;
var i:int = 0;

enemy = new Stinger(stage, ourShip); // i = 0, i < 5
enemyList.push(enemy);
stage.addChild(enemy);
i++;

enemy = new Stinger(stage, ourShip); // i = 1, i < 5
enemyList.push(enemy);
stage.addChild(enemy);
i++;

enemy = new Stinger(stage, ourShip); // i = 2, i < 5
enemyList.push(enemy);
stage.addChild(enemy);
i++;

enemy = new Stinger(stage, ourShip); // i = 3, i < 5
enemyList.push(enemy);
stage.addChild(enemy);
i++;

enemy = new Stinger(stage, ourShip); // i = 4, i < 5
enemyList.push(enemy);
stage.addChild(enemy);
i++;

// i = 5; since i is no longer less than 5, stop here.