2009-09-21 131 views
1

我在我的舞臺上加載了一些swf文件。他們是我網站的頁面。as3 removeChild問題

要從一個頁面更改頁面我使用removeChildAt(0),然後addChildAt(「page_title」,0)。

問題是,removeChild不要從第一個swf文件加載(卸載前)刪除功能。

那我該怎麼辦?

我是否必須使用其他方式removeChild?

Thanx!

回答

1

這聽起來像你對我實際上並沒有刪除它們。首先,從顯示列表中刪除某些東西只是一種視覺/交互式變化。它仍然在運行,直到您刪除對它的任何引用,作爲事件偵聽器或w/e,然後您必須將其設置爲null,以便垃圾回收將在下一個週期中抓取它。

如果您使用的是Flash Player 10,則spender是正確的,unloadAndStop將爲您工作,因爲他們剛剛創建它來解決您的問題。

我只是覺得我應該解釋一下發生了什麼事情,因爲人們不僅應該知道修復,而且要知道爲什麼會發生。

另一個建議是,我不會將這些電影加載到舞臺上,我會創建一個容器來容納它們,這種方式即使稍後添加其他東西,它們也是分離的,整潔的並且易於訪問通過他們的父母(例如imageContainer_mc)。

0

或者,您可以將子電影加載到不同的ApplicationDomain中,以將加載的代碼與主應用程序隔離。看看flash.system.ApplicationDomain類(它是Loader.load()方法的一個參數)。