2010-03-24 30 views
1

後後,我改變一個影片剪輯的使用AS3:元素停留在舞臺上操縱指數(深度)

oldIndex = getChildIndex(DisplayObject(e.target)); 
setChildIndex(DisplayObject(e.target), numChildren - 1); 

索引時我得到該目的的舊索引

setChildIndex(DisplayObject(e.target), oldIndex); 

,去電影的另一個框架,這個元素我改變了停留在新框架上的所有元素之上的索引。

我的問題是我做錯了什麼,如果不是,我該怎麼做,以便這個元素只保留在它放置的框架?

+0

能否詳細說明您的問題。框架與關卡無關。請記住,當您將顯示對象添加到顯示列表而不定義索引時,它將被添加到頂部(可用的最高索引),那麼如果將其添加到特定索引中,它可能會重新排列其他顯示對象索引。 – 2010-03-24 10:52:10

+0

最好的方法就是在無法避免的情況下使用框架(如轉換動畫)並嘗試不混合框架和ActionScript。 – back2dos 2010-03-24 11:09:13

+0

我有舞臺上的對象(它們不是用AS動態加載的),如果我嘗試設置這個元素的索引,然後gotoAndStop放在另一個框架上 - 這個對象也出現在新框架上(它是一樣的,不管是否我交換索引或只是設置新的索引)。也許問題是我有舞臺上的對象,然後使用AS設置索引。我所做的修復它是檢查新框架上是否存在元素並將其刪除。 – o15a3d4l11s2 2010-03-24 11:47:06

回答

2

每次加載幀時,都會將元素重置爲其在幀中的外觀。要麼你需要堅持基於幀的或者基於代碼的動畫,否則你需要創建一個包含對象順序的數組或者類似的東西,然後每次你改變幀時,掃描這個數組並且把這些對象分配給相關指數。