Actionscript 3 Flash中的编译时共享库符号
我们的Flash项目具有以下结构。两个带有图形资源(符号)的FLA文件,使用SWCs导入到纯AS3代码项目中 ui.fla和login.fla中都使用了一些符号,因此我们希望将它们放在一个共享库中,如下所示Actionscript 3 Flash中的编译时共享库符号,actionscript-3,flash,swc,Actionscript 3,Flash,Swc,我们的Flash项目具有以下结构。两个带有图形资源(符号)的FLA文件,使用SWCs导入到纯AS3代码项目中 ui.fla和login.fla中都使用了一些符号,因此我们希望将它们放在一个共享库中,如下所示 问题是,我们不希望在ui.fla的代码中使用shared.fla的符号,而是在创作环境中使用,这样我们就可以将符号从shared.fla拖到ui.fla的符号中(无需复制)。这可能吗?可以通过远程共享库(RSL)共享资产 但请注意:我在生产中没有见过这种方法,这只是几年前我的实验 以下是
问题是,我们不希望在ui.fla的代码中使用shared.fla的符号,而是在创作环境中使用,这样我们就可以将符号从shared.fla拖到ui.fla的符号中(无需复制)。这可能吗?可以通过
远程共享库(RSL)共享资产
但请注意:我在生产中没有见过这种方法,这只是几年前我的实验
以下是一个例子:
创建包含共享资产的文档。将其命名为“共享库”
创建一些符号。为RSL准备:
- 在FlashIDE中选择Library->YourSymbol(右键单击)->Properties
- 在第1帧中选择动作脚本的导出
&导出
,键入符号的名称
OK
将其发布到SWF和SWC
库中选择导出符号,CTRL+C
(或右键单击,复制)
库
李>
shared_lib.swf
、shared_lib.swc
和mainui.swc
。在outmainui
中,我们也可以使用外部资产。您可以用同样的方法创建其他资产
让我们谈谈项目设置,它将使用我们的资产
那么,我们现在到底有什么Mainui.swc
有一个符号,其中包含另一个虚拟符号。如果您只是尝试使用一些探查器在浏览器中加载mainui.swf
,您将看到,它首先加载mainui.swf
,然后加载shared_lib.swf
但是,如果您尝试创建一些项目并包含mainui.swc
,您将得到未定义符号的错误,因为所有包含mainui-的都只是对共享库中符号的虚拟引用
要解决此问题,您必须在项目中完全包含shared_lib.swc
。在这种情况下,您将有:
- 通过库路径指令:可选包含
mainui.swc
- 通过包含库指令:完全包含
shared_lib.swc
希望这会有帮助 是的,它起作用了。我们以前尝试过这个,但是因为必须输入URL而陷入困境,这毫无意义。但显然,如果您确保资产在运行时(通过合并的SWC)已可用,它们不会再次加载,因此URL可能是一个模拟值。据我所知,编译的SWC在任何情况下都不会触发加载任何远程数据。不,它们不会,但关键是,在包含运行时共享资源的SWC中编译可以防止在运行时加载这些资源的尝试(这将失败),因为它们已经存在。