Fla文件导出swf实现:jsfl

  近日,一直在做winfrom自动构建版本实现,无奈项目中存在flash 组件,头儿要求所有代码必须自动构建,不允许自己手动构建,我这个flash盲郁闷了。。。

  项目中flash组件都是引用的SWf文件,这就要求flash编译fla工程生成swf,遍求Flash CS6自动编译命令无果后,只好另寻它法。根据本人搜集结果,大致有两种方法实现

  第一:使用工具fla2swf.exe 工具,使用命令行 fla2swf.exe E:\1.fla 就可生成swf文件,但是我通过这种方式没有实现,只能打开项目 并未进行编译,原因未知。

  第二:使用jsfl自己创建命令,jsfl可以实现fla生成swf,具体步骤如下:

  1.fl  文件—》新建》flashJavaScript文件,确定

  2.填写代码

//封装成一个函数
function FlaToSwf(flaNamePath,swfNamePath)
{
	//打开需要导出的fla源文件file:///C|/flash/SBCPreviewPlayer.fla
var fla=fl.openDocument(flaNamePath);
var pathUri=fla.pathURI;//导出影片"file:///C|/flash/SBCPreviewPlayer.swf"
fla.exportSWF(swfNamePath,false);

	//关闭源文件
fl.closeDocument(fl.documents[0],false);
}
FlaToSwf("file:///C|/flash/SBCPreviewPlayer.fla","file:///C|/flash/SBCPreviewPlayer.swf");
FlaToSwf("file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashPlayer/Flash/FileUnicast.fla","file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashPlayer/Flash/FileUnicast.swf");
FlaToSwf("file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashPlayer/Flash/FileMulticast.fla","file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashPlayer/Flash/FileMulticast.swf");
FlaToSwf("file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashController/Flash/SBCPreviewPlayer.fla","file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashController/Flash/SBCPreviewPlayer.swf");
FlaToSwf("file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashController/Flash/SBCPlayer.fla","file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashController/Flash/SBCPlayer.swf");
FlaToSwf("file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashController/Flash/SBCCamera.fla","file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCUserControl/FlashController/Flash/SBCCamera.swf");
FlaToSwf("file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCController/Flash/GenerateGS.fla","file:///D|/Project/SuperBroadcast/superbroadcast/Zonekey.SBCController/Flash/GenerateGS.swf");
fl.quit(false);//退出编辑器
注意:如果没有fl.guit(false);执行完jsfl后flash Cs6不会自动退出,如果编译swf后无法执行后续命令

   编写完成后保存。

  3.双击执行**.jsfl文件就可执行自动编译swf,也可通过命令行cmd运行程序。

 

posted @ 2013-04-22 17:25  xywang  阅读(1884)  评论(0)    收藏  举报