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

转载 2012年03月29日 14:57:12

最近项目中使用到很多资源需要使用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]);
        }
}


VS2010MFC批量读取文件夹中的图片,处理后批量存入另一个文件夹

类CFileFind执行本地文件查找
  • u012702039
  • u012702039
  • 2014年01月13日 21:45
  • 2899

C++下 文件夹内文件名提取、修改以及批量生成文件名

因为做一个项目,涉及到这一块,然后在网上搜到额相关文章,为方便以后使用,所以修改后放到博客里做保存,首先是文件夹内文件的提取。 #undef UNICODE // 如果你不知道什么意思,请不要修...
  • cimuhuan
  • cimuhuan
  • 2014年03月17日 18:34
  • 1370

shell实例浅谈之二批量创建文件并重新命名

一、问题       判断一个文件是否是可执行文件,并且判断能否在系统PATH路径中找到。第一种情况:可执行且找到返回0,第二种情况没找到或者不可执行返回1,第三种情况可执行但没找到或没找到返回...
  • taiyang1987912
  • taiyang1987912
  • 2014年10月09日 18:06
  • 10219

去除bom头小工具,单个可执行文件,可按文件夹批量替换,支持自定义文件类型

  • 2017年02月18日 11:20
  • 4.67MB
  • 下载

java 压缩单个文件,多个文件,或者压缩文件夹

/**  * Project Name:MonitoringPlatform-commons-util  * File Name:ZipCompressing.java  * Package N...
  • qq_33212500
  • qq_33212500
  • 2017年04月20日 11:36
  • 1150

代码统计助手(适合所有语言,适合单个文件,工程和文件夹)

  • 2009年08月04日 22:15
  • 534KB
  • 下载

文件夹加密(局域网、本地、移动存储)绿色单个文件版

  • 2008年09月11日 07:53
  • 710KB
  • 下载

python 遍历文件夹子文件夹,批量生成txt

import os import os.path def createList(root_dir, class_list, info_name): info = open(info_name...
  • u014114990
  • u014114990
  • 2015年12月15日 11:33
  • 591

C#压缩解压(可任意选择多个文件夹,文件一起压缩);BackgroundWorker配合进度条的使用

如,下图操作,任意选择要压缩的文件夹,文件,设置压缩后保存的文件,点压缩按钮执行效果如下执行完的test1.zip压缩需要引用using ICSharpCode.SharpZipLib.Zip; 可...
  • m0_38110784
  • m0_38110784
  • 2017年07月11日 16:48
  • 547

在Java中使用pscp命令上传单个或者多个文件(文件夹)到远程Linux服务器

package com.xx.util; import java.io.IOException; import java.util.Arrays; import java.util.List...
  • lsq112233
  • lsq112233
  • 2014年04月28日 13:48
  • 642
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用jsfl批量生成fla文件(文件是在多个文件夹下)如果是单个文件夹下也可以
举报原因:
原因补充:

(最多只允许输入30个字)