一次将多个 .fla 文件转换为 .swf 或 .mov 文件

Convert many .fla files to .swf or .mov files at once

我有一个文件夹,里面有很多 FLA 文件 (files.fla)。

我想知道是否有办法将所有这些 .fla 文件一次转换为 .swf 或 .mov 文件(而不是在 Adob​​e Animate 中打开每个 fla 文件,然后将它们导出为 swf)。

我还想知道是否可以使用 Python 脚本或在 Adob​​e Animate 外部执行的 JavaScript 代码来实现此目的。

如果有人有任何想法或任何链接,那将会很有帮助。

我找到了一种不用外部的方法。

我post希望它能帮助那些苦苦寻找如何在软件本身 (Adobe Animate) 中做到这一点的人。

这是执行此操作的代码片段(未优化)。

顺便说一下,它确实受到了 Whosebug 上的一个答案的启发(我不记得 link)。

var swfFolder = 'Path/to/SWF/Files'​
var flaFolder = fl.browseForFolderURL('Path/to/FLA/Files');​
var folderContents = FLfile.listFolder(flaFolder);

for(i = 0; i < folderContents.length; i++){​
​
   file = folderContents[i];​
   swfFilename = file.replace(".fla", ".swf");​
   file = 'Path/to/FLA/Files' + file;​
   fl.openDocument(file);​
   fl.getDocumentDOM().exportSWF(swfFolder + "/" + swfFilename, true);​
   fl.closeDocument(file);​

}​

它有一些问题。第一次执行此脚本时,它将打开一种浏览器文件,以便选择 FLA 文件所在的目录。然后为每个文件按 ok

但是如果您只需要一个只对一个文件进行导出的脚本,上面的代码将会很有帮助:

var swfFolder = 'Path/to/SWF/Files';
var swfFilename = "exportedFile.swf";
fl.getDocumentDOM().exportSWF(swfFolder + "/" + swfFilename, true);​

为了完全回答我的问题(在外部执行将 FLA 文件导出到 SWF 文件的代码),我们必须了解如何从命令行(Windows 中的 cmd)执行此脚本.然后把它扩展到很多files.fla的文件夹,我们可以做一点Python代码,在FLA目录的每个文件上调用脚本。

但是,我没有找到实现该目标的方法。所以如果有人对此有答案,请告诉我们。

编辑

要在 FLA 文件上调用 JSFL 脚本,请使用:

Path\To\Animate.exe file.fla Path\To\file.jsfl

(Link to the reference)

当我不得不为此目的制作一个 Python 脚本时,整个命令对我不起作用,我必须先用我的 fla 文件打开 Adobe Animate,等待几秒钟(使用 time.sleep()) 然后调用命令

Path\To\Animate.exe Path\To\file.jsfl