2012-03-05 214 views
0

我有我的FlashDevelop as3項目中加載的外部swf(ext.swf)。as3外部swf類加載

當我檢查(objectsList[0]是Class1)時,即使 objectsList[0]元素爲Class1,我也會變得錯誤。 Class1的是在ext.swf

但是,當我寫這樣的命令(objectListInExternalSwf[0]是1類)外部 SWF,然後使用該SWF在我的項目並進行檢查(objectsList[0]是1類) 我得到正確的。

我的問題是:是否必須使用我的外部swf中的所有類,以便編譯器 必須將它們放入swf中,以便可以將swf作爲外部加載的其他項目中使用它們?

+1

你可以張貼一些代碼?什麼是objectsList []?它是如何形成的?代碼在哪裏創建?很難採取具體的實施方法,只是猜測您是如何完成這項工作才能提出解決方案的。歡迎來到stackoverflow btw。 – 2012-03-06 00:47:36

回答

0

默認情況下,加載SWF時,其內容將被放置到單獨的ApplicationDomain中。所以即使你有相同的類,Flash也會認爲它是不同的。

共享相同的類定義,你必須要在同一ApplicationDomain中(或來自同一繼承):

var l : Loader = new Loader; 
l.load(new URLRequest("foo.swf"), 
     new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain));