批量发布Flash文件 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

我现在主要的工作是负责做多媒体动画了,我不会绘画,也不懂设计,不过我会写程序,

批量发布Flash文件

。好呆也是做过.net编程的。

大家Flash动画做了上千个,要发布产品了,于是研发主管招唤大家一起发布,可我是个懒人,首先就想,有没有批量发布的程序。

网上搜了一下,还真有。是用jsfl写的。

代码看懂了,又找了些jsfl的教程看了看,于是决定扩展一下功能,写个flash插件出来,至少带个操作界面,用时方便,毕竟这个东东不只是我用。

这个flash插件功能很简单,能够批量发布一个或多个文件夹下的fla文件,包括其子目录下的;设定好,让它慢慢发布就行了,还算实用,至少能满足我现在的工作。

首先是一个UI。

PublishBatUI.xml



  
  
  
  
  
  
   
  

文件名,就是PublishBatUI.xml。

然后就是Jsfl代码了。

批量发布Fla.jsfl

//批量发布Flash文件。
var tempDoc=undefined;
if(fl.documents.length==0){
  //xmlPanel need a document, if there is none, create a temp document
  tempDoc=fl.createDocument();
}
//创建操作界面
useUI = fl.getDocumentDOM().xmlPanel(fl.configURI + "Commands/PublishBatUI.xml");
//计数
var pubNum=0;
if(tempDoc){
  //close temp document
  fl.closeDocument(tempDoc);
}
if(useUI.dismiss=="accept"){
  //是否包括子目录
  var isSubDir=useUI.cbSubDir;
  //fl.trace(isSubDir);
  //是否只发布更新后的
  //var isOnlished=useUI.cbOnlyUnpublished;
  //源文件路径
  var txtPaths=useUI.tbPaths.split("\r\n");
  //打开选择窗
  //var folderURI = fl.browseForFolderURL("请选择要编译的文件夹:");
  //fl.trace(folderURI)
  for(var i=0; i   {
   var path=txtPaths[i]="file:///"+txtPaths[i].split(":").join("|").split("\\").join("/");
   pubBatFla(path,isSubDir);
  }
  fl.trace("操作完成,累计生成"+pubNum+"个,

电脑资料

批量发布Flash文件》(http://meiwen.anslib.com)。");
}
//
//批量发布Fla文件
//flaDir:fla所在的文件夹;
//isSubDir:是否编译子文件夹下的fla,true为编译为子文件夹;
function pubBatFla(flaDir,isSubDir)
{
  //当前目录下的文件
  var files= FLfile.listFolder(flaDir,"files");
  for (var i=0; i    pubFla(flaDir+"/"+files[i]);
  }
  //不再编译子文件夹
  if(!isSubDir)return;
  //当前目录下的子目录
  var subDir= FLfile.listFolder(flaDir,"directories");
  for (var j=0; j    pubBatFla(flaDir+"/"+subDir[j],isSubDir);
  }
}
//发布fla文件
//fileURL:完整的Fla文件路径
function pubFla(fileURL)
{
  if(fileURL.indexOf(".")>-1)
  {
     //当前文件后缀名
   var flExt= fileURL.substr(fileURL.lastIndexOf("."));
   //如果是fla文件,则执行发布
   if(flExt.toLowerCase() == ".fla"){
    var doc=fl.openDocument(fileURL);
    doc.publish();
       doc.close();
    pubNum++;
   }
  }
}

文件名保存为“批量发布Fla.jsfl”

将两个文件放置到如下目录下:

如果是Flash8,放到C:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\zh_cn\Configuration\Commands

如果是Flash CS3,放到C:\Documents and Settings\Administrator\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\Commands

重新打开Flash,不管是flash8还是flash cs3,在其主菜单“命令”中,都会看到“批量发布fla”的命令。

本文配套源码

最新文章