我正在開發基於Asgamer教程的遊戲。我目前正試圖讓5個敵人立即產卵。產卵敵人的代碼是:如何產生一定數量的敵人?
var enemy:Stinger = new Stinger(stage, ourShip);
enemyList.push(enemy);
stage.addChild(enemy);
我知道我需要循環這個代碼莫名其妙3次,但我所有的嘗試都在使用循環都失敗了,很慘。應該指出,我正在進入動作腳本,所以在這一點上我是一個完整的noob,我需要非常基本的指導。
我正在開發基於Asgamer教程的遊戲。我目前正試圖讓5個敵人立即產卵。產卵敵人的代碼是:如何產生一定數量的敵人?
var enemy:Stinger = new Stinger(stage, ourShip);
enemyList.push(enemy);
stage.addChild(enemy);
我知道我需要循環這個代碼莫名其妙3次,但我所有的嘗試都在使用循環都失敗了,很慘。應該指出,我正在進入動作腳本,所以在這一點上我是一個完整的noob,我需要非常基本的指導。
您需要一個循環。像:
for (var i:Number=0; i<3, i++){
var enemy:Stinger = new Stinger(stage, ourShip);
enemyList.push(enemy);
stage.addChild(enemy);
}
更多關於在循環和迭代:http://www.republicofcode.com/tutorials/flash/as3loops/
你說你需要創建五個敵人,但後來你說你需要循環三次。除非你做了不尋常的事情,三次循環會讓你有三個敵人,五次循環會給你五個敵人。
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.