自己要操作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 批量转化fla脚本文件相关推荐

  1. 使用jsfl批量生成fla文件(文件是在多个文件夹下)如果是单个文件夹下也可以

    最近项目中使用到很多资源需要使用swf格式,但是资源太多,就想到了jsfl,这个家伙太厉害了,有了他工作量就大大减少了,晒下代码分享给大家,写的比较乱,注释也不全,大家如果需要即时交流哦 fl.out ...

  2. JSFL批量删除fla文件中超出某个宽度的原件

    fl.outputPanel.clear(); var rootDir = fl.browseForFolderURL("目录"); var fileList = FLfile.l ...

  3. linux批量执行一个脚本文件,shell脚本示例:批量比较多个文件的内容是否相同...

    要比较两个文件的内容是否完全一致,可以简单地使用diff命令.例如: diff file1 file2 &>/dev/null;echo $? 但是diff命令只能给定两个文件参数,因此 ...

  4. 批量转化py2topy3脚本

    import os def plpy2to3(rote, py34rote):os.chdir(rote)print (os.getcwd())for i in alistdir(rote):if i ...

  5. hive 批量执行sql脚本文件 跳过异常语句

    应用场景 hive执行sql的方式很多,在需要批量执行sql的场景下就需要使用到hive 命令 或beeline命令. 使用方式 hive -f a.sql 这个命令会执行a.sql里面的sql命令, ...

  6. 不用任何软件,批量转化图片格式

    不用任何软件,批量转化图片格式 文件夹里有上百张图片,如何批量修改格式? 其实不用任何软件,不用任何转化工具就能实现这一目的. 这是Windows系统自带ren(rename-重命名)命令,利用ren ...

  7. 2021-08-02 json文件批量转化mask,生成train.txt路径make_path.py

    一. json文件批量转化mask 1.编写一个同文件路径下的.bat文件 for %%m in (G:\730json\mei\1\*.json) do ( # 对文件1下面的json文件(路径)进 ...

  8. 生成Yolox检测负样本-对应空文件夹txt、批量文件重命名、批量转化三通道去除小图

    1.生成Yolox检测负样本-对应空文件夹txt import os.path import cv2 from tqdm import tqdmpath = r"G:\pachong\fuy ...

  9. PLSQL执行SQL脚本文件「适用批量」- 工具使用篇

    前言 开局一条狗,装备全靠打 这篇文章应该是 2019 年最后一文章了,分享一下 PLSQL 是如何执行 SQL 脚本文件的. 关于执行 SQL 文件,下方是自己经常使用的一种方式,同样适用于批量文件 ...

最新文章

  1. poj3484详解(二分)
  2. 昊天善圈浅谈比特币这个类型区块链应用技术的特点及作用
  3. STL: set相关算法
  4. 计算机软件与理论调剂,2021汕头大学计算机软件与理论081202考研调剂信息
  5. html5.js让IE(包括IE6)支持HTML5元素方法
  6. spoj 375 Query on a tree (树链剖分)
  7. HTML DOCTYPE 标签 -- DTDs 文档类型声明
  8. 清空缓存的命令_超详细的mysql数据库查询缓存原理解析、涉及命令、流程分析等...
  9. C++ 构造函数和析构函数
  10. Android之哭笑不得的BUG--xml设置的padding不起作用,幕后黑手竟然是?
  11. Java IO流简介
  12. 关于css3的calc()
  13. 浅谈串口DCB流控制设置
  14. IDEA 设置背景颜色为黑色
  15. 对象转JSON字符串保留空(null)值;
  16. 三维地图Cesium加载天地图
  17. Linux下键盘测试工具
  18. 正则表达式实现与或非
  19. 【RFC3449 网络路径不对称对 TCP 性能的影响】(翻译)
  20. Linux apache 默认目录结构

热门文章

  1. HTML Help Workshop(chm生成工具)的使用
  2. swiper 上滑触发_最火英雄小书包:用最矮的身高,打出最高的输出,死上最多的次数...
  3. 基于Java毕业设计志愿者管理系统演示录像2020源码+系统+mysql+lw文档+部署软件
  4. 产品经理应该学习墨刀还是Axure?
  5. 微商引流用什么礼品?从而形成裂变传播
  6. Google 正式发起 Android 汽车联盟
  7. CoreOS Fest 系列之第二篇: Systemd、Go、Calico、Sysdig
  8. html读秒倒计时,使用javascript做时间倒数读秒功能的实例
  9. 推荐系统在美团综合业务中的应用及实践
  10. 手把手教你如何推广博客网站