0

有什么办法可以说,让 A.swf 只使用 B.swf 中的某些项目,而不必先加载整个 swf 作为孩子?我想要做的是让 A 尽可能精简,并不时从 B 中提取一些项目,而不必以某种方式将整个文件缓存在闪存中。我看过其他类似的问题,但似乎没有一个真正回答或适合这个确切的问题。

在有人问之前,是的,我确实知道如何使用加载器、加载器上下文以及从库中创建类的实例。这更像是一个方法问题,而不是一个“如何”的问题。

我能想出的唯一想法是将所有子项导出为单独的 swf 对象,然后让 A 请求 B 将 A 请求的单独项目组合起来。这会有效吗?

4

2 回答 2

0

Aswf是一个已编译的包,并不意味着要分成几部分。一种解决方案是将AB中的所有常见元素拉到一个swc(编译的 Flash 库,不打算运行)中。然后,您可以将 包含在ABswc的编译中。

除非您将创建大量只有几个共同元素的文件,否则我不明白为什么需要将每个子项导出为单独的swf文件。

于 2012-10-24T21:27:34.443 回答
0

我不认为你可以做你想做的事,但是由于这些资产本质上是严格的图形化,所以将它们导出为单独的资产并在需要时加载它们似乎并不是低效的。(实际上它对我来说似乎非常有效......)

我没有尝试过,但为了节省时间,您可能可以使用 jsfl 自动执行导出过程。(Jsfl 允许您编写 Flash IDE 本身的脚本,以自动执行您原本必须手动执行的任务。)在此处查看此 Stack Overflow 答案:

使用带有大型库的 fla 的类生成单个 SWF

该示例显示了如何从库中批量导出 swf。

请注意,在 Flash CS6 中,您可以通过右键单击并选择导出来从库中导出 MovieClip,但不幸的是,它不允许您一次导出所有组。

于 2012-10-24T22:55:37.530 回答