我有一个包含许多 FLA 文件 (files.fla) 的文件夹。
我想知道是否有一种方法可以一次将所有这些 .fla 文件转换为 .swf 或 .mov 文件(而不是在 Adobe Animate 中打开每个 fla 文件,然后将它们导出为 swf)。
我还想知道是否可以使用 Python 脚本或在 Adobe Animate 外部执行的 JavaScript 代码来实现这一点。
如果有人有任何想法或任何链接,那将很有帮助。
我有一个包含许多 FLA 文件 (files.fla) 的文件夹。
我想知道是否有一种方法可以一次将所有这些 .fla 文件转换为 .swf 或 .mov 文件(而不是在 Adobe Animate 中打开每个 fla 文件,然后将它们导出为 swf)。
我还想知道是否可以使用 Python 脚本或在 Adobe Animate 外部执行的 JavaScript 代码来实现这一点。
如果有人有任何想法或任何链接,那将很有帮助。
我找到了一种不在外部进行的方法。
我发布这篇文章是希望它能帮助其他人努力找出如何在软件本身(Adobe Animate)中做到这一点。
这是执行此操作的代码片段(未优化)。
顺便说一句,它真的受到 StackOverFlow 上的答案的启发(我不记得链接了)。
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
(链接到参考)
当我不得不为此目的制作一个 Python 脚本时,整个命令对我不起作用,我必须先Adobe Animate
用我的 fla 文件打开,等待几秒钟(使用 time.sleep())然后调用命令
Path\To\Animate.exe Path\To\file.jsfl