作者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
1F:→ ben0209:补充,ClassLoader 中,没有监听 ProgressEvent,有需要 08/26 09:05
2F:→ ben0209:作载入进度的人,就自己去改 ClassLoader 监听事件即可 08/26 09:06
3F:→ ben0209:补充2,SWC是另外的议题,是开发、编译阶段的议题, 08/26 09:18
4F:→ ben0209:不是执行阶段 动态载入 的议题,所以这篇不讨论这部分 08/26 09:19
5F:推 emily114005:推 08/26 15:50
6F:推 lulu7953:推 09/01 13:13