如何清除 Flash XFL 格式的 DOMDocument 元素的 sharedLibraryURL 属性?
Posted
技术标签:
【中文标题】如何清除 Flash XFL 格式的 DOMDocument 元素的 sharedLibraryURL 属性?【英文标题】:How do I clear the sharedLibraryURL attribute of the DOMDocument element of the Flash XFL format? 【发布时间】:2017-02-20 09:28:04 【问题描述】:我遇到了一个非常奇怪的问题,我无法导入特定符号,我最终通过将 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" 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 复制,这会复制死属性值并导致此问题。
所以现在我知道了原因,但我仍然不知道如何清除它......
【问题讨论】:
【参考方案1】:通过执行以下操作可以“修复”此问题:
-
在“库”面板中,右键单击并选择“新建符号...”。
单击“导出以供运行时共享”复选框,它应该会自动填充 URL 字段,向您显示当前值。
填写一些可能不会与其他内容冲突的不同值。我输入了“1.swf”。
单击“确定”创建符号。
从库中删除符号。
这会将 sharedLibraryURL
的值更改为您指定为新 URL 的任何值,让您可以毫无问题地导入。
这是一个非常愚蠢的解决方案,但这是我短期内唯一能想到的。我希望其他人有更好的方法来处理这个问题。
【讨论】:
以上是关于如何清除 Flash XFL 格式的 DOMDocument 元素的 sharedLibraryURL 属性?的主要内容,如果未能解决你的问题,请参考以下文章