是否可以从命令行发布FLA?

时间:2008-11-04 15:31:06

标签: flash scripting cs3 jsfl

在我们的项目中,我们有很多(数百个)由CS3中的艺术家创建的FLA文件,我们从中编译SWF以在我们的Flex / AS3应用程序中使用。

作为简化的构建/部署系统的一部分,能够自动发布所有这些FLA并且理想地部署SWF非常方便。我找到了一些使用JSFL从CS3进行批量发布的方法,但是很惊讶发现CS3显然没有任何命令行功能吗?

这是在Linux系统上的价值,我没有JSFL的经验,知道你是否可以从命令行运行脚本?

注意:我应该说“Linux是首选的”...我不使用Linux但我们的服务器/构建PC是Linux ...我没有意识到CS3不兼容所以我想我们可以在Windows上做这个部分。

4 个答案:

答案 0 :(得分:9)

从命令行执行JSFL脚本,如下所示:

Windows上的

"c:\program files\macromedia\flash 8\flash.exe" myscript.jsfl

Mac上的

open myscript.jsfl

我相信旧版本的Flash在Wine上运行没有问题,但对CS3不太确定。

要遍历一批本地文件,请尝试这样的事情(在JSFL中):

var importFolder = fl.browseForFolderURL('Select a folder with existing FLA files');
var importFolderContents = FLfile.listFolder(importFolder);
for (i = 0; i <importFolderContents.length; i++) {
    file = importFolderContents[i];
    fl.openDocument(file); // and so on
}

您可能想要调查的其他一些方法是......

fl.getDocumentDOM() document.exportSWF() document.publish() fl.closeDocument()

答案 1 :(得分:2)

如何在Linux上运行Flash CS3? 你不能从命令行运行JSFL,但应该可以编译FLA文件

一些老例子 http://www.mikechambers.com/blog/2003/11/01/flashcommand-flash-2004-command-line-compiler/

来自Mike Chambers的新东西 OSX的http://code.google.com/p/flashcommand/

所以看来只有通过半自动IDE发布才能实现,

太差了Flex编译器不具备此类功能,与ANT任务一起成为杀手...... 使用FDT编辑器非常酷且自动化

答案 2 :(得分:1)

就像已经说过的那样,可以使用JSFL脚本,尽管您仍然需要具有与Adobe Flash Professional通信的命令行工具,以将进程记录到stdout并根据编译结果提供退出代码。

我最终自己编写了这个工具https://www.npmjs.com/package/flc。它基本上是一个命令行界面,可以抽象出Adobe Flash Professional。针对Flash Pro 2014和2015进行了测试。

答案 3 :(得分:0)

是的,绝对的。事实上,我已经构建了一个端到端的解决方案,只需点击一个按钮,就可以使用版本时间戳更新类文件,如果它尚未打开则打开Flash,打开个人用于发布的文件,在每个文件完成发布时通过进程间通信向自动化程序发出信号,这样您就不会遇到任何时间问题,并在完成后将特定文件部署到Web上(在自动备份和时间戳之后)文件名),整个过程在10秒内完成。

请在此处查看我的问答:Automating publishing of FLA files; calling Process.Start multiple times