作者ben0209 (邦邦)
看板Flash
標題[心得] 載入外部 SWF 後,使用其包含的素材
時間Fri Aug 26 09:02:50 2011
看到不少人詢問、討論這個議題,故提供作法
1.
建立包含 "程式 類別" 的 swf。
做法一:
在 fla 中,library 中的 symbol,有設定第一影格匯出,並有自定 class name,
這樣輸出的 swf 中,就包含了 "帶有UI" 的自定 class
做法二:
同做法一,只不過指定 class name 時,有對應到真正存在的 as 檔,
表示有自己定義的程式邏輯,這樣輸出的 swf 中,
就包含了 "帶有UI 與程式邏輯" 的自定 class
做法三:
使用其它純 AS 打造的做法,然後使用 flex sdk 編譯,
純 AS 中,可能只有 程式邏輯,也可能有自己打造的 UI,
輸出的 swf 中,都可以抓得到
2.
載入、並使用這個外部 swf 內含的 class,
sample code 可以到官網 help 中直接抓來用
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/ApplicationDomain.html#includeExamplesSummary
這個範例中,外部 swf 中,只是包含了一個 Greeter 類別,
用來產生一段字串用,沒有 UI,就像是一個 工具類別 helper class 的用途,
只要能看懂這段 ClassLoader 在做甚麼,就 OK 啦,
我有需要的時候也都是去剪貼 sample code 中 ClassLoader 的程式碼來用
額外提醒,進階使用 ClassLoader 時,要注意 ApplicationDomain 的意義,
這裡就不說明了~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.65.247.209
→ ben0209:補充,ClassLoader 中,沒有監聽 ProgressEvent,有需要 08/26 09:05
→ ben0209:作載入進度的人,就自己去改 ClassLoader 監聽事件即可 08/26 09:06
→ ben0209:補充2,SWC是另外的議題,是開發、編譯階段的議題, 08/26 09:18
→ ben0209:不是執行階段 動態載入 的議題,所以這篇不討論這部分 08/26 09:19
推 emily114005:推 08/26 15:50
推 lulu7953:推 09/01 13:13