`

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文件

    "批量发布FLA文件"指的是利用自动化脚本或工具一次性地将多个FLA文件转换为SWF文件,而不是逐一手动操作。这在大型项目或者需要更新多个文件的情况下非常有用,能够极大地节省时间和工作量。 在给定的压缩包中,`...

    Flash JSFL命令集

    JSFL可以实现这一过程的自动化,编写一个简单的脚本,就能按照预设参数批量发布FLA文件,大大节省时间。 三、批量设置FLA文件 对于有大量FLA文件的工作环境,统一设置文件的属性(如舞台大小、帧率、背景色等)是一...

    flash中批量链接名脚本

    1. **打开脚本**:首先,找到并双击`批量命链接名.jsfl`文件,这将在Flash中运行脚本。如果你的Flash没有自动打开,你需要手动打开它并选择“窗口”&gt;“扩展”&gt;“脚本编辑器”来查看和运行脚本。 2. **设置参数**:...

    批量发布fla(flash插件)

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

    JSFL解析fla

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

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

    至于提供的压缩包文件"flash批量改名命令_1608030025",它可能包含了示例的JSFL脚本或者相关的资源文件,比如示例Flash项目,用于演示如何使用这个批量改名命令。在实际操作时,你可以解压文件,查看其中的内容,...

    Flash 批量发布

    5. **批量转换**:一旦文件夹被选定,脚本会遍历其中的所有FLA文件,并按照预设的发布设置将它们转换为SWF。发布设置可能包括分辨率、质量、压缩选项等,这些可以在脚本中进行定制。 6. **结果确认**:最后,所有...

    JSFL实用代码

    1. **发布文件夹里的所有flash.jsfl**:这个脚本可能用于批量发布多个Flash项目,将所有的FLA文件转换为SWF格式,并将它们保存到指定的输出目录。这对于需要一次性发布多个动画或者组件的情况非常有用。 2. **...

    ui.zip_jsfl

    在这个场景中,`ui.zip_jsfl`可能包含了一个名为`导出.jsfl`的脚本,这个脚本的目的是自动化导出Flash Pro项目(FLA文件)中的所有图片资源,并根据FLA文件内的目录结构进行分类。 通常,FLA文件是Flash Pro的工作...

    批量发布fla

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

    快速将素材导入到同一个fla并链接(CS4)

    标题中的“快速将素材导入到同一个fla并链接(CS4)”指的是在Adobe Flash CS4专业版中批量处理素材并将其整合到一个FLA(Flash Authoring Environment)文件中的技术。这一过程通常是为了提高工作效率,特别是在处理...

    jsfl技术文档

    1. **自动化工作流**:通过编写JSFL脚本,开发者可以自动化重复性任务,如批量导出所有符号,或者一键调整所有实例的大小和位置。 2. **自定义面板和工具**:JSFL允许创建自定义的面板和工具,用户可以根据需要定制...

    Flash CS5 JSFL开发手册API帮助文档

    而JSFL(JavaScript Flash Language)是Adobe Flash中用于扩展功能的脚本语言,它允许用户通过编写JavaScript脚本来自动化Flash的一些任务,例如批量处理文件、自定义工具栏以及修改FLA文件等。 JSFL作为Adobe ...

    jsfl中文帮助文档

    JSFL(JavaScript for Flash)是Adobe Flash Professional软件中使用的脚本语言,允许开发者使用JavaScript语法编程来控制Flash Professional界面和编辑环境。 2. 法律声明知识点:文档中提到,有关Adobe Flash ...

    jsfl技术文档(帮助文档)

    JSFL是一种基于JavaScript的脚本语言,它允许开发者通过编写代码来控制Flash IDE,包括创建、编辑和导出SWF文件,管理库资源,以及修改时间轴和图层。 2. **语法** JSFL语法与标准JavaScript类似,但包含了一些...

    JSFL导出元件滤镜配置

    为了更好地理解脚本的运作,你可以打开`exportFilter.jsfl` 文件查看具体实现。这将帮助你学习如何在实际项目中使用JSFL进行自动化操作,提高工作效率。 此外,`exportFilter.jsfl` 文件可能也利用了Flash ...

Global site tag (gtag.js) - Google Analytics