有没有办法可以说,让A.swf只使用B.swf中的某些项目,而不必先把孩子的整个swf加载?我正在尝试做的是尽可能使用A并且从B中不时地拉出一些项目,而不必以某种方式将整个文件缓存在闪存中。我看过其他类似的问题,但似乎没有人真正回答或解决这个问题。
在有人问之前,是的我知道如何使用loader,loadercontext,并从库中创建类的实例。这更像是一个方法论问题而不是“如何”问题。
我想出的唯一想法是将所有孩子作为单独的swf对象导出,然后让A请求B自己组合A请求的分离项目。这会有效吗?
答案 0 :(得分:0)
swf
是一个已编译的包,并不打算拆分成部分。一种解决方案是将所有常见元素从 A 和 B 中拉入swc
(一个已编译的Flash库,并不打算运行)。然后,您可以在 A 和 B 的汇编中加入swc
。
除非您要创建大量只有少数常用元素的文件,否则我不明白为什么您需要将每个子项导出为单独的swf
文件。
答案 1 :(得分:0)
我认为你不能做你想做的事情,但是由于资产本质上是图形化的,因此将它们作为单独资产导出并在需要时加载它们似乎效率不高。 (事实上,这对我来说似乎非常有效......)
我没有尝试过,但为了节省时间,您可以使用jsfl自动执行导出过程。 (Jsfl允许您编写Flash IDE本身的脚本,以自动执行您必须手动执行的任务。)请在此处查看此Stack Overflow应答:
Generating individual SWF's with classes from a fla with a large library
该示例显示了如何将swfs批量导出库中。
注意,在Flash CS6中,您可以通过右键单击并选择导出来从库中导出MovieClip,但不幸的是,它不允许您一次导出一个组。