在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);