0

我遇到了一个非常奇怪的问题,我无法导入特定的符号,我最终通过将 FLA 保存到 XFL 并检查 DOMDocument.xml 以发现有问题的符号是在sharedLibraryURL属性中定义的,从而缩小了范围。如果我手动清除此属性,它会解决问题,但我找不到在 Flash CS6 中检查此值的方法。

将其他一些 FLA 文件转换为 XFL 后,我可以看到它们都充满了看似随机的值sharedLibraryURL,这意味着这个问题可能会发生在我们项目的任何地方。

有谁知道这个属性是干什么用的?更重要的是,有没有办法在 Flash CS6 中修改它并阻止它被填充而不必转换为 XFL 并返回?

作为参考,这里是 DOMDocument.xml 的开始元素(我将 swf 重命名为 problem_file.swf):

<DOMDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ns.adobe.com/xfl/2008/"
backgroundColor="#666666" width="1920" height="1080" frameRate="30" currentTimeline="1" xflVersion="2.2"
creatorInfo="Adobe Flash Professional CS6" platform="Windows" versionInfo="Saved by Adobe Flash Windows 12.0 build 537"
majorVersion="12" buildNumber="537" pixelSnap="true" viewAngle3D="122.353661987282"
sharedLibraryURL="problem_file.swf" nextSceneIdentifier="12" playOptionsPlayLoop="false"
playOptionsPlayPages="false">

编辑:我部分想通了。当您创建符号并选中属性中的“导出以用于运行时共享”复选框时,该属性会被添加。您为 URL 指定的任何值都会保存为sharedLibraryURL. 问题是一旦这个属性存在,就没有明显的方法可以清除它。如果我删除该符号,它只会留在那里。它在 FLA 中具有如此随机值的原因是因为我们在创建新的 FLA 时倾向于从现有的 FLA 复制,这会复制死属性值并导致此问题。

所以现在我知道了原因,但我仍然不知道如何清除它......

4

1 回答 1

0

通过执行以下操作可以“修复”此问题:

  1. 在“库”面板中,右键单击并选择“新建符号...”。
  2. 单击“导出以供运行时共享”复选框,它应该会自动填充 URL 字段,向您显示当前值是什么。
  3. 填写一些可能不会与其他任何内容冲突的不同值。我输入了“1.swf”。
  4. 单击确定以创建符号。
  5. 从库中删除符号。

这会将 的值更改为sharedLibraryURL您指定为新 URL 的任何值,从而允许您毫无问题地导入。

这是一个非常愚蠢的解决方案,但这是我短期内唯一能解决的问题。我希望其他人有更好的方法来处理这个问题。

于 2016-10-11T19:38:01.950 回答