我正在开发一款基于Asgamer教程的游戏。我目前正试图让5个敌人直接产卵。产生敌人的代码是:
var enemy:Stinger = new Stinger(stage, ourShip);
enemyList.push(enemy);
stage.addChild(enemy);
我知道我需要以某种方式循环这个代码3次,但是我使用循环的所有尝试都失败了,非常糟糕。应该注意我刚刚进入动作脚本,所以我现在是一个完整的菜鸟,我需要非常基本的指示。
答案 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.