0
我是新來的as3,我試着尋找我的問題的答案已經。對於側面滾動遊戲,我在某些地點設置了敵人,我需要它們產卵,而不是在遊戲中的這些特定位置出現一次。這些是關於該問題的時間表代碼的摘錄。敵人在特定地點產卵
var enemyList:Array = new Array();
function addEnemiesToLevel1():void
{
addEnemy (700, 125);
addEnemy (1000, 125);
addEnemy(2405, 125);
addEnemy(3300, -155);
}
if (enemyList.length > 0)
{
for (var i:int = 0; i < enemyList.length; i++)
{
function addEnemy(xLocation:int, yLocation:int):void
{
var enemy:Enemy = new Enemy(xLocation, yLocation);
back.addChild(enemy);
enemy.addEventListener(Event.REMOVED, enemyRemoved);
enemyList.push(enemy);
}
敵人被綁定到一個類文件控制對球員運動
package {
import flash.display.MovieClip;
import flash.events.Event;
public class Enemy extends MovieClip {
private var xSpeedConst:int = 6;
public function Enemy(xLocation:int, yLocation:int) {
// constructor code
x = xLocation;
y = yLocation;
addEventListener(Event.ENTER_FRAME, loop);
}
public function loop(e:Event):void {
x -= xSpeedConst;
}
public function removeSelf():void {
trace("remove enemy");
removeEventListener(Event.ENTER_FRAME, loop);
this.parent.removeChild(this);
}
}
}
敵人也設置了衝突,所以我不希望更改代碼太多,因爲我可能會破壞一些東西。如果我不得不添加計時器,請告訴我究竟在哪裏,因爲我已經嘗試過並且失敗了。感謝您的幫助。
謝謝!這很好。你能告訴我,我將如何分配敵人從幾個x和y位置出來,而不僅僅是一個?我是否需要將添加的敵人刪除到1級功能?我如何控制他們在2級?對不起,他們不會讓我在常規答覆框中發佈問題,所以我必須在這裏發佈這些微縮信。 – user3220726
嗯,我不確定你想怎麼做,但你可能只是想讓它們產生一些點數,然後循環數組並做'var enemy:Enemy = new Enemy(myArray [我] .x,myArray [i] .y);'這將是解決方案。 –
我可以在此代碼的頂部添加2個位置:var enemy:Enemy = new Enemy(xPos,yPos);或者那是不可能的? – user3220726