Java代码
//打开图片目录
var folder = fl.browseForFolderURL("png图片目录");
//取的文件列表句柄
var list = FLfile.listFolder(folder,"files");
var doc = null;
if(list){
//循环这个句柄 获得所有的子文件
for(var i = 0;i var filename = list[i]; if(filename.toLowerCase().substr(filename.length - 4) == ".png"){ if(doc == null){ //创建一个fla,默认timeline doc = fl.createDocument(); doc.frameRate = 30; doc.width = 100; doc.height = 100; doc.backgroundColor = '#000000'; } //文件导入到flash/舞台/库 doc.importFile(folder+"/"+filename,true); } } } if(doc){ //library只读属性,库面板 var lib = doc.library; //在库里面加入一个movie clip 名字叫npc lib.addNewItem("movie clip","npc"); //编辑这个mc lib.editItem("npc"); //得到当前的timeline对象 当前时间轴可以是当前场景、正在编辑的当前元件或当前屏幕 var tl = doc.getTimeline(); //将图层设置为选定;同时将指定图层作为当前图层 tl.setSelectedLayers(0); //只读;图层对象数组 命名 tl.layers[0].name="bitmap"; //计算多少个图片 在给定的帧编号处插入指定数目的帧。 var len = lib.items.length-1; tl.insertFrames(len-1); //设置第一针 然后开始写入图片 var frameId = 0; //lib.items 项目库中的全部item for(var i = 0;i var item = lib.items[i]; if(item.itemType == "bitmap"){ //一个布尔值,它指定是否允许对位图进行平滑处理 item.allowSmoothing = true; //一个字符串,它确定应用于位图的压缩类型 item.compressionType = "photo"; //一个整数,用于指定位图的品质 item.quality = 70; if(frameId>0){ //convertToBlankKeyframes方法;将当前图层的帧转换为空白关键帧。 tl.convertToBlankKeyframes(frameId); } //addItemToDocument方法;将当前项目或指定的项目添加到舞台的指定位置 lib.addItemToDocument({x:0, y:0},item.name); //向前推针 frameId ++; } } //添加一个新图层 //tl.addNewLayer(); //命名为动作层 //tl.layers[0].name="actions"; //在第一针和最后一针加入动作 //tl.setSelectedFrames([0,len-1,len-1],true); //tl.convertToBlankKeyframes(1); //tl.layers[0].frames[0].actionScript= //"if(this['cyc'] == null){\nthis['cyc'] = false;\nstop();\n}\nif(!this['cyc']){\nstop();\n}"; //找到刚才的mc 给他加上类路径链接 //var li = lib.items[lib.findItemIndex("npc")]; //li.linkageExportForAS= true; //li.linkageExportInFirstFrame = true; //li.linkageClassName = "npc"; //导出swf var li = lib.items[lib.findItemIndex("npc")]; alert(li); doc.addItem({x:0,y:0},li); //doc.exportSWF(); //关闭这个文件 //doc.close(false); }else{ alert("没有指定的png图片!"); }