如何在多个.swf文件之间共享图形?(Flash CS5)

red*_*ory 0 rsl actionscript-3

在Flash CS5中,似乎可以选择将.swc文件导入库中,但作为RSL(运行时共享库​​).

替代文字

这个选项(swc)和使用运行时共享库​​.swf文件有什么区别?

此外,如果您选择.swc文件,并选择"info"("i")图标,似乎有几个选项.swc ..."合并到代码","外部","运行时共享库​​" :

替代文字

bed*_*wyr 7

一个SWC是捆绑到应用程序的SWF当你把它的建成编译库.这会创建一个更大的应用程序文件(在浏览器中加载需要更长的时间),这意味着每次启动应用程序都需要相同的时间来加载.如果生成的SWF相当大,则每次启动都需要一段时间.这些库是"静态链接的"(即包含在最终编译的SWF中).

RSL是动态链接到您的应用程序的编译库.您将它们构建为单独的SWF,并将它们作为RSL添加到项目中.应用程序的编译器将创建一个链接,允许应用程序在运行时使用它,而不是将其导入主SWF文件.当您的应用程序启动时,它将尝试定位RSL并动态加载整个库.这会增加应用程序的初始负载; 但是,一旦定位并加载,它们就会被缓存,随后的应用程序启动应该非常快.

RSL有许多好处,也有一些缺点.由于它们未捆绑到您的应用程序中,因此您的SWF更小,并且可以更快地启动.它还允许您在应用程序中分隔将由其他应用程序使用的库.因此,"共享"库.

然而,它还需要付出代价.我认为RSL(默认情况下)是由编译器使用校验和链接的.您不能简单地修改其他应用程序使用的RSL,而不是重新编译它们以考虑更改.如果修改RSL,则在应用程序启动时会出现错误,因为它所需的校验和与新版本的库不匹配.