我有一种情况需要从用户上传到服务器的FLA生成SWF。我们使用python和bash脚本,并在Ubuntu Server 10.04(64位)上工作,任何有关如何生成SWF的帮助都将是一个很大的帮助。
谢谢。
Flash需要Flash IDE进行编译。您可能可以在linux上使用flex AS3编译器编译代码,但如果Flash中有图形元素,则无法编译它们。
但是,我们遇到了类似的情况,我们通过在MAC OS X Snow Leopard(10.6)中安装Flash来修复,然后编写了一些php,一些shell脚本,一些Apple脚本,并为AS3制作了命令行编译机制。
Mac OS X是基于unix的操作系统,因此命令行与任何其他unix类似。它带有内置的PHP,所以你不必安装任何东西。基本上使用脚本我们动态生成一个名为.jsfl文件的东西。 jsfl包含需要编译的.fla的详细信息。这些jsfl文件可以由Flash IDE执行。所以我们调用flash IDE并传递生成的.jsfl文件。 (http://gskinner.com/blog/archives/2004/08/jsfl_fla_batch.html)
这个gskinner进程也可以在windows中运行,但是使用mac我们可以使它成为命令行。这样用户只需ssh到mac并执行命令即可构建文件。
FLA文件格式在最新版本的Flash中发生了重大变化。新的FLA是包含源文件和资产的存档,因此您可以编写一个脚本来解压缩FLA并从中组装SWF。 FLA的早期版本包含专有格式,没有记录,也没有工具以自动方式处理它,而不是在Linux上。
根据ActionScript版本和您对资源处理的要求(通过资源,我指的是图像,字体,音轨,视频等),有几种选择:
还有其他能够生成SWF的工具 - 所有这些都取决于您需要做什么。这里有很多不同的工具:http://www.swftools.org/
Haxe是一种可以编译为SWF的其他编程语言。它还有自己的链接器和管理资源的方法。 http://haxe.org/
有这个项目,它允许您从XML描述编译复杂的矢量图形甚至动画:http://code.google.com/p/hxswfml/