我在我的舞臺上加載了一些swf文件。他們是我網站的頁面。as3 removeChild問題
要從一個頁面更改頁面我使用removeChildAt(0),然後addChildAt(「page_title」,0)。
問題是,removeChild不要從第一個swf文件加載(卸載前)刪除功能。
那我該怎麼辦?
我是否必須使用其他方式removeChild?
Thanx!
我在我的舞臺上加載了一些swf文件。他們是我網站的頁面。as3 removeChild問題
要從一個頁面更改頁面我使用removeChildAt(0),然後addChildAt(「page_title」,0)。
問題是,removeChild不要從第一個swf文件加載(卸載前)刪除功能。
那我該怎麼辦?
我是否必須使用其他方式removeChild?
Thanx!
這聽起來像你對我實際上並沒有刪除它們。首先,從顯示列表中刪除某些東西只是一種視覺/交互式變化。它仍然在運行,直到您刪除對它的任何引用,作爲事件偵聽器或w/e,然後您必須將其設置爲null,以便垃圾回收將在下一個週期中抓取它。
如果您使用的是Flash Player 10,則spender是正確的,unloadAndStop將爲您工作,因爲他們剛剛創建它來解決您的問題。
我只是覺得我應該解釋一下發生了什麼事情,因爲人們不僅應該知道修復,而且要知道爲什麼會發生。
另一個建議是,我不會將這些電影加載到舞臺上,我會創建一個容器來容納它們,這種方式即使稍後添加其他東西,它們也是分離的,整潔的並且易於訪問通過他們的父母(例如imageContainer_mc
)。
假設您正在加載Loader,則可以使用unloadAndStop方法。
此處瞭解詳情:
http://www.gskinner.com/blog/archives/2008/07/additional_info.html
或者,您可以將子電影加載到不同的ApplicationDomain中,以將加載的代碼與主應用程序隔離。看看flash.system.ApplicationDomain
類(它是Loader.load()
方法的一個參數)。
他還必須爲Flash Player 10發佈。 – 2009-09-26 15:51:10