我有一个带有一些文字的FLA,但是发送SWF的人没有Flash,也不了解Flash。
有没有办法构建FLA,只需通过某种方式修改SWF就可以更改文本?由于公司政策,SWF无法读取外部文件。
我们尝试在FLA中编程,它在另一台服务器上读取XML,但这是不允许的。我也不能用另一个文件(即一个xml文件)发送SWF。
感谢。
答案 0 :(得分:2)
使用FLASM或SWFMILL作为swf文件的免费命令行汇编程序/反汇编程序。使用任何一个来拆卸您的瑞士法郎。您可以在任何文本编辑器中打开结果文件, 查找并替换文本 ,然后再将其组合为swf。希望它有所帮助。
答案 1 :(得分:1)
尝试在没有Flash的情况下修改FLA文件是一种奇怪的逻辑。 FLA文件是一个二进制文件,你需要一个编辑器来阅读它,我很确定Adobe不允许合法的第三方编辑。
但是,是的,拥有一个动态TextField可以发送参数并更改数据。请注意 - 您需要发送数据。意味着它必须来自外部。
有哪些选择?嗯,实际上,很少有:
stage.loaderInfo.url
访问URL,只需确保定义了一个阶段 - 在文档类中调用或在您调用的显示对象之后添加到阶段。除此之外,您可以拥有一个外部文件来保存数据并将其嵌入SWF中。详细了解嵌入此处:http://flashgamedojo.com/wiki/index.php?title=Embedding_XML_in_AS3。它是关于嵌入XML数据,但您可以将该技术用于任何数据,甚至是二进制数据。 嵌入数据是一件好事,但每次在文件中进行更改时都需要重新编译,因为它不是动态加载文件,而是在编译时将其嵌入到SWF本身。
希望有所帮助!
答案 2 :(得分:0)
JPEXS Decompiler 可以非常轻松地更改 SWF 中的文本。到 2021 年,它仍在积极开发中。