在Flash CS3中构建SWF文件时,可以调用外部脚本或者程序吗?

时间:2020-03-05 18:58:18  来源:igfitidea点击:

有没有一种方法可以在每次构建SWF文件时从Flash CS3调用外部脚本或者程序?我想使用subwcrev添加颠覆信息,SVN关键字不起作用,因为它们仅在版本类文件更新时更新。

解决方案

回答

我不确定这些天有什么JSFL功能,但是我想说Flash IDE内部是我们唯一的选择。 JSFL是扩展Flash IDE的语言,但是我不确定我们可以做到这一点。

与此相关的是,向SWF添加SVN信息并非易事。在实际编译SWF本身之前,我们可能需要SVN挂钩来放置信息。

我怀疑我们可以使用Flash IDE进行此编译,但是我很乐意听到其他情况。

回答

多亏了Zrate,看起来JSFL才是答案,或者至少是答案的一部分。我无法让Flash运行外部脚本,但可以让外部脚本运行Flash;所以我现在有两个脚本; build.bat和build.jsfl

build.bat:

subwcrev . Version.svn.as Version.as
IF ERRORLEVEL 1 EXIT /B $ErrLev
flash.exe ./build.jsfl
IF ERRORLEVEL 1 EXIT /B $ErrLev

build.jsfl:

fl.openDocument("file:///movie.fla");
var documentDom = fl.getDocumentDOM();
documentDom.exportSWF("file:///movie.swf",true);
documentDom.close(false);
FLfile.remove("file:///Version.as");

我已经将build.bat添加到我的项目中;如果我双击build.bat,则项目将使用SVN版本信息构建SWF电影。它可以在Flash IDE或者文件浏览器中运行。如果我忘记了,然后单击"测试项目",则构建失败,因为它找不到Version.as。

再次感谢Zrate!

回答

减少我这样做
也许我们也饱了,因为你也

var fileURL = fl.browseForFileURL(" open"," Select file");

fl.openDocument(fileURL);

var documentDom = fl.getDocumentDOM();

documentDom.exportSWF(" movie.swf",true);

documentDom.close(false);