2013-11-27 160 views
0

我正在做一個有炸彈和敵人的遊戲。我想讓敵人在炸彈後面移動。這些敵人在一個名爲「敵人」的陣列中,炸彈在一個名爲「炸彈」的陣列中,它們從屏幕頂部移動到底部。有什麼類型的代碼可以使我的炸彈在我的炸彈下面?如何在Flash中將影片剪輯移到影片剪輯後面?

+0

的可能重複的[如何固定在AS3中的階段重疊對象(http://stackoverflow.com/questions/15855551/how-to-fix-overlapping-objects-on-the-stage- in-as3) – prototypical

+0

這本質上是http://stackoverflow.com/questions/15855551/how-to-fix-overlapping-objects-on-the-stage-in-as3/15856962#15856962的重複 - 問題可能以不同的細節提出數百種方式並以相同的方式回答。 – prototypical

+0

@prototypical這些並不完全重複,至少解決這個問題的更好的方法將是謝爾蓋森科夫的答案,而不是在單個顯示列表中排列敵人和炸彈。 – Vesper

回答

0

您正在尋找addChildAt(child:DisplayObject, index:int)

假設變量bombenemy,並顯示列表如下:

root:MaintTimeline ¬ 
    0: bomb:MovieClip 
    1: enemy:MovieClip 

然後運行addChildAt(enemy, 0)將顯示列表更新爲:

root:MaintTimeline ¬ 
    0: enemy:MovieClip 
    1: bomb:MovieClip 
1

您應該添加兩個MovieClip容器,然後添加您的元素。添加enemiesContainer到舞臺,之後添加bombContainer。

var enemiesContainer: MovieClip = new MovieClip(); 
var bombContainer: MovieClip = new MovieClip(); 
addChild(enemiesContainer); 
addChild(bombContainer); 

function addEnemy():void{ 
    enemiesContainer.addChild(new Enemy()); // from array 
} 

function addBomb():void{ 
    bombContainer.addChild(new Bomb()); // from array 
}