`

JSFL 批量转化fla脚本文件

阅读更多

自己要操作100多个fla相同格式的fla文件,把动作帧MC时间轴上的动作抽取到场景时间轴里面去,做了一个jsfl脚本的转化操作。PS:可使用Komodo Edit 这样一个软件进行编写

fl.outputPanel.clear();
var folderURI = fl.browseForFolderURL("选择模型文件夹,稍后进行批量转化");
var folderContents = FLfile.listFolder(folderURI);
var saveDir = "file:///D:/saveFolder/";  //转化后保存目录
if( FLfile.exists(saveDir)==false )
{
 FLfile.createFolder(saveDir);
}
try
{
 var fileName ;
 for each(var o in folderContents)
 { 
  if( o.indexOf('fla')>-1 )
  {
   fileName = folderURI+'/'+o;
   transferFla(fileName);
  }
  //fl.trace(fileName); 
 }
}
catch(e)
{
 alert("部分fla文件有异常"+e);
}
alert("转换后文件已保持到'"+saveDir+"'目录")

//转化函数
function transferFla(fileUrl)
{  
 var doc = fl.openDocument(fileUrl);//fl.getDocumentDOM();
 fl.outputPanel.trace(doc.name); 
 var item = doc.library[0];//.timelines[0].layers[0].frames[0].elements[0].libraryItem;
 
 //查找库中的Soilder MC
 for each(var o in item)
 {
  if( o.name == 'Soilder' )
  {
   item = o;   
   break;
  } 
 }
 
 var ddoc = fl.createDocument("timeline");
 ddoc.timelines[0].layers[0].locker = false;//设为不禁用
 
 var len = 1;
 var _actionCount = item.timeline.layers[1].frames.length;//动作数
 for(var j=0;j<_actionCount-1;j++)
 {
  var _actionFrame = item.timeline.layers[1].frames[j];//动作
  var _actionTimeline = _actionFrame.elements[0].libraryItem.timeline;//动作MC的时间轴
  var _imgArr = _actionFrame.elements[0].libraryItem.timeline.layers[1].frames//动作MC的帧
  _actionTimeline.currentLayer = 1; //当前活动层
  for(var i=0;i<_imgArr.length;i++ )
  {  
   if( _imgArr[i].startFrame == i  )
   {    
    _actionTimeline.copyFrames(i); //复制关键帧
    ddoc.timelines[0].pasteFrames(len);//逐个粘贴帧
    len ++;
   }
  }
 }
 ddoc.timelines[0].removeFrames(0);
 fl.saveDocument(ddoc,saveDir+doc.name);
 fl.closeDocument(doc);
 fl.closeDocument(ddoc);
}

分享到:
评论

相关推荐

    jsfl mc批量生成fla

    jsfl脚本, 让fla 中的mc批量生成fla,并发布 减小手工修改,

    批量发布fla(flash插件)

    大家Flash动画做了上千个,要发布产品了,于是研发主管...这个flash插件功能很简单,能够批量发布一个或多个文件夹下的fla文件,包括其子目录下的;设定好,让它慢慢发布就行了,还算实用,至少能满足我现在的工作。

    JSFL解析fla

    JSFL解析fla的一篇论文,展示了flash的xml结构和相关编程方法。

    Flash JSFL命令集

    flash命令集,可导出Flash资源,批量发布fla文件,批量设置fla文件,设置库资源的类绑定等功能。

    批量发布fla

    一个jsfl脚本,运行后提示选择文件夹,该脚本会自动搜索文件夹下所有的fla文件,找到后打开该文件然后发布出swf文件。

    flash元件批量改名命令(jsfl)

    1、将文件另存为:RandomNameLibaray.jsfl 2、在flash中直接运行命令 1、将文件另存为:RandomNameLibaray.jsfl 2、在flash中直接运行命令

    flash 元件批量改名命令(jsfl)

    /////////////////////////////////// // //1、将文件另存为:RandomNameLibaray.jsfl //2、在flash中直接运行命令 // //////////////////////////////////

    FLASH操作评分常用JSFL

    FLASH操作评分常用JSFL,FLASH操作评分常用JSFL,可制作FLASH的自评分练习题,可制作FLASH的自评分练习题,可制作FLASH的自评分练习题,

    flash批量修改图片无损

    flash 图片 批量 无损 png flash cs 如何能批处理 把库中的图片都改成无损Png

    flash可批量改名字.jsfl

    如果说AS是用来在SWF运行时运行的脚本,而jsfl则是在Flash编辑环境下运行的脚本。在这里我不想用太多专业的术语打击新手继续学习的信心,我想先带大家做一个非常简单的实验,可批量改名字

    当前时间轴转位图序列.jsfl

    这是一个flashCS系列使用的jsfl...首先打开fla文档(该fla文档必须被保存过),之后双击运行该文件会将当前正在编辑的时间轴转换成位图序列。 适合flash移动开发、 flash网游素材制作和优化、 flash stage3D材质制作等

    JSFL自动描边和自动填充

    利用FLash Javascript 接口,写的一个在flash CS中使用的自动描边的命令。 可以将一个静态文本自动打散-》自动描边-》自动填充颜色,提高Flash制作效率。

    flash命令 jsfl 自动把序列图分散到各个帧上

    由于工作需要重复地把序列图放到各个帧上,于是...3.打开一个fla文件; 4.导入序列图; 5.在库中选中刚才导入的序列图; 6.选择菜单-命令-Sort frames in layers; 7.可以看到时间轴中新建了一个图层,并且排好了图片。

    jsfl中文帮助文档

    jsfl中文帮助文档,Adobe官网最新版,Flash cs6(更新时间2013-6-+11)

    Flash 批量发布

    解压后放在C盘。 然后通过flash打开。 选择需要批量发布fla的文件夹。 确定,即可将所有的fla文件都发布成swf文件。

    jsfl技术文档

    jsfl技术文档(帮助文档) 官方中文版,内含示例

    九宫格jsfl

    对.fla文件symbol一键九宫格化脚本

    JSFL实用代码

    JSFL实用代码,复制可用!项目中常用!

    Flash查找导出类.jsfl

    1、打开含有连接类的Flash源文件; 2、输入想要查找的文件名(支持关键字); 3、路径输出再Flash工作台

Global site tag (gtag.js) - Google Analytics