我想知道是否可以将所有这些.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脚本时,整个命令对我来说都行不通,我必须首先使用fla文件打开Adobe Animate
,等待几秒钟(使用time.sleep() ),然后调用命令
Path\To\Animate.exe Path\To\file.jsfl