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

fl.outputPanel.clear();

var resourcePath=fl.browseForFolderURL("请选择素材路径:");
var swfPath=fl.browseForFolderURL("请选择生成swf文件的路径:");

var bitmapFolder="图素";
var mcFolder="导出类";
analyseFolder(resourcePath,"");

var childName = "";
var flag = false;
//递归处理每个文件夹
function analyseFolder(folderPath,libFolder)
{
var dom = fl.createDocument();
var lib=dom.library;
//fl.trace("libFolder"+libFolder);

if(libFolder == ""){
   childName = "";
}else{
   childName = childName+"_";
}
//fl.trace("childName"+childName);
        var fileList=FLfile.listFolder(folderPath,"files");
        for(var i=0;i<fileList.length;i++)
        {
     //如果元素是位图,则设置其压缩属性
     //fl.trace(lib.getItemType(fileList[i]));
    
   
  
                var fileName=fileList[i];
                var ind=fileName.indexOf(".");
                //如果没有后缀或后缀不正确则略过
                if(ind<=0||ind==(fileName.length-1))
                {
                        continue;
                }
   fl.trace("fileName:::::::"+folderPath+fileName);
                //后缀
                var ext=fileName.substr(ind+1,fileName.length-ind);
                ext=ext.toLowerCase();
                //不是图片则略过
                if(ext!="bmp"&&ext!="gif"&&ext!="jpg"&&ext!="jpeg"&&ext!="png")
                {
                        continue;
                }
    
    
                //不要后缀的文件名
                shortName=fileName.substr(0,ind);

var filePath=folderPath+"/"+fileName;
    
                //fl.trace(filePath);
                //导入图片
                dom.importFile(filePath,true);
                //选择项
                lib.selectItem(fileName);
     if(lib.getItemType()=="bitmap"){
      //使用photo(JPEG)压缩
      lib.compressionType="photo";
      lib.quality = 65;
     
      //使用文档的压缩质量,可在导出时设置
      lib.useImportedJPEGQulity=true;
      //fl.trace("aaaaaa"+lib.getItemType());
     }
     //fl.trace(lib.getItemType());
                //放到舞台上
                lib.addItemToDocument({x:0,y:0});
                dom.selectAll();
                dom.convertToSymbol("movie clip",shortName,"top left");
                lib.selectItem(shortName);
                lib.setItemProperty("linkageImportForRS",false);
                lib.setItemProperty("linkageExportForAS",true);
                lib.setItemProperty("linkageExportForRS",false);
                lib.setItemProperty("linkageExportInFirstFrame",true);
                lib.setItemProperty("linkageIdentifier",shortName);
     //fl.trace("shortName        "+shortName);
                dom.selectAll();
                dom.deleteSelection();
                var f=libFolder;
                lib.newFolder(bitmapFolder+f);
                lib.newFolder(mcFolder+f);
                lib.moveToFolder(bitmapFolder+f,fileName);
                lib.moveToFolder(mcFolder+f,shortName);
     fl.trace("flag::::"+flag);
     flag = true;
     //fl.trace("fileName:::::::"+folderPath+fileName);
     fl.trace("转化为元件结束");
     fl.trace("---------------------------");
     dom.exportSWF(swfPath+"/"+shortName+".swf",true);
     fl.saveDocument(dom,swfPath+"/"+shortName+".fla");
     dom.close(false);
     //fl.colse(false);
        }       
        //子文件夹
        var folderList=FLfile.listFolder(folderPath,"directories");
        for(var j=0;j<folderList.length;j++)
        {
   //childName = folderList[j]+"_";
     childName = folderList[j];
     flag = false;
                analyseFolder(folderPath+"/"+folderList[j],libFolder+"/"+folderList[j]);
        }
}

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

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

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

  2. java复制文件的4种方式及拷贝文件到另一个目录下与删除单个文件和删除整个文件夹

    文章目录 1.使用FileStreams复制 2.使用FileChannel复制 3.使用Commons IO复制 4.使用Java7的Files类复制 5.下面看下java拷贝文件到另一个目录下的实 ...

  3. JSFL 批量转化fla脚本文件

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

  4. unity导出fbx模型_Unity批量合并Animation工具/根据已有的Animation文件批量生成带FBX动画工具...

    由于本人现有项目的项目素材大部分都需要继续沿用旧项目的模型与动画,但在接受旧模型动画的时候发现,模型动画由于外包已经丢失了3dmax的源文件,只剩下了一堆AnimationCilp(.anim)文件与 ...

  5. git让单个文件回滚到指定版本

    https://blog.csdn.net/fsgsggd/article/details/79875035 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITey ...

  6. 使用Python根据原始Excel表格批量生成目标Excel表格

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 亭台六七座,八九十枝花. 大家好, ...

  7. Git教程——回到从前 (checkout 针对单个文件)

    文章目录 1.前言 2.改写文件 checkout 1.前言 之前我们使用 reset 的时候是针对整个版本库, 回到版本库的某个过去. 不过如果我们只想回到某个文件的过去, 又该怎么办呢? 2.改写 ...

  8. 生成批量缩率图_Windows系统实战之:批量生成某类型文件

    在我们的日常工作中,因工作需要批量生成一批文件,今天我就给大家介绍一下如何批量生成我们想要的文件,以文本文件为例. 需要用到的程序有: 1.Microsoft Excel(WPS表格也可以) 2.记事 ...

  9. R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs absolute path)

    R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs an absolute path from the ...

最新文章

  1. Cordova探险系列(一个)
  2. 改变listview的每个item的背景色
  3. 不是之所以不是,所以不是
  4. android 扫描所有文件大小,Android获取指定文件大小
  5. VHDL交通灯控制器的设计
  6. 网易架构师深入讲解Java开发!BAT等大厂必问技术面试题
  7. (需求实战_进阶_06)SSM集成RabbitMQ 订阅模式 关键代码讲解、开发、测试
  8. word怎么改正错误单词_在word 里要怎么让电脑自动识别错误的英语单词?
  9. Java线程池(1) - 问题驱动“Java线程池”学习
  10. GIS中的基本概念收集
  11. Java 项目经典代码
  12. [教程] 虚拟机安装MAC lion 10.7.3教程 附送原版提取镜像! 安装
  13. 通讯录管理系统(简洁版 课程设计)
  14. 干货分享:如何把APP软文推广做到好
  15. 1160. 不容易系列之二
  16. ClickHouse可视化DBM Release 1.12.0
  17. uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
  18. Qt 测量函数运行耗时
  19. python并列柱状图x轴设定_Matplotlib绘图时x轴标签重叠的解决办法
  20. 苹果首批ARKit应用展示 或随iOS 11一起亮相

热门文章

  1. 淘淘商城第39讲——使用Spring来管理单机版Redis与集群版Redis
  2. 网红电商剧烈洗牌,机会将属于拥有“头部网红矩阵”的MCN机构?
  3. IP地址分类以及网络地址的计算(子网划分、超网划分)
  4. 引用antd 组件,样式丢失
  5. HDR视频色调映射算法(之六:Real-time automatic TMO)
  6. 在家远程控制公司电脑怎么实现 7款好用的远程工具介绍
  7. 360WIFI登陆页面地址
  8. 人终有一老,大龄程序员该何去何从?从20岁开始卷?
  9. 机器健康监测的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 【一起学Rust】Rust的Hello Rust详细解析