如何使用Ubuntu Server上的命令行从FLA生成SWF?

时间:2012-03-21 10:02:19

标签: actionscript-3 flash

我遇到需要从用户上传到服务器的FLA生成SWF的情况。我们使用python和bash脚本,并在Ubuntu Server 10.04(64位)上工作,任何有关如何生成SWF的帮助都将是一个很大的帮助。

感谢。

2 个答案:

答案 0 :(得分:0)

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并执行命令即可构建文件。

答案 1 :(得分:0)

FLA文件格式在最新版本的Flash中发生了重大变化。新的FLA是包含源文件和资产的存档,因此您可以编写一个脚本来解压缩FLA并从中组装SWF。 FLA的早期版本包含专有格式,没有记录,也没有工具以自动方式处理它,而不是在Linux上处理它。

根据ActionScript版本和您对资源处理的要求(通过资源,我指的是图像,字体,音轨,视频等),有几种选择:

  1. Flex SDK,在@ntidote博客文章中找到的材料有点过时了,但它确实/应该有效。您需要查阅MXMLC使用文档以找出所有可用选项(以及一些新的必需选项,博客文章中未涉及)。如果你的目标是编译AS3,这就是你能做的。这不包括视频转码,您可能会发现嵌入矢量图形具有挑战性。但是,MXMLC能够编译大量的SVG子集。它还可以编译FXG - 一种可以描述矢量形状和文本的新交换图形格式。

  2. 也可以编译ActionScript 2,但Flex不提供编译器。有一个非常好的,实际上比Adobe编写的AS2编译器好得多:http://tech.motion-twin.com/mtasc.html

  3. 还有其他能够生成SWF的工具 - 所有这些都取决于您需要做什么。这里有很多不同的工具:http://www.swftools.org/

    Haxe是一种可以编译为SWF的其他编程语言。它还有自己的链接器和管理资源的方法。 http://haxe.org/

    有这个项目,它允许您从XML描述编译复杂的矢量图形甚至动画:http://code.google.com/p/hxswfml/