我遇到了一个非常奇怪的问题,我无法导入特定的符号,我最终通过将 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 复制,这会复制死属性值并导致此问题。
所以现在我知道了原因,但我仍然不知道如何清除它......