现在项目需要用到某种格式的swf,既这个swf里的舞台上原点有两个MovieClip,分别命名为mc1,mc2. mc1和mc2都是从外部导入的同一个png图片转为mc而来的。然后导出为这个png同名的swf文件,和png同目录。
代码如下:
//功能:导入图片目录文件夹,输出文件夹内所有图片的swf到这个文件夹。 //用法:新建fla,然后在“命令”》“运行命令”,选择这个jsfl就可。等待几秒钟,就会在刚才选择的文件夹内生成可行的swf。 //@author:Holycy@126.com var folderURI = fl.browseForFolderURL("请选择水玉镜画大图的PNG目录文件夹."); var doc = fl.getDocumentDOM(); importImage(folderURI, ""); //在文件夹中导入图片 furl:文件夹在操作系统中的路径; folderName:在库中的路径 function importImage(fUrl, folderName) { var folderContents = FLfile.listFolder(fUrl); var fName; var item; var i; var hasBmp = false; folderName = "bigImg"; //处理文件夹 for(i=0; i<folderContents.length; i++) { fName = folderContents[i]; fl.trace("-----------:" + fName + "------------------") ; //文件夹(如果是子文件夹 D) //if(FLfile.getAttributes(fUrl + "/" + fName) == "D") //{ // importImage(fUrl + "/" + fName, folderName+"/"); //} } clearAllItem(); doc.library.newFolder(folderName); //处理图片 for(i=0; i<folderContents.length; i++) { fName = folderContents[i]; if(fName.indexOf(".png") != -1 || fName.indexOf(".PNG")!= -1) { doc.importFile(fUrl + "/" + fName, true); doc.library.moveToFolder(folderName, fName); //选择库中的位图 doc.library.selectItem(folderName+"/" + fName); var items = doc.library.getSelectedItems(); var a = items[0]; doc.library.selectItem(folderName+"/" + fName); //放置在舞台的00点 doc.library.addItemToDocument({x:0, y:0}); //转化为元件 doc.convertToSymbol('movie clip', '', 'top left'); fl.getDocumentDOM().moveSelectionBy({x:0, y:0}); //重复选择一次 doc.library.selectItem(folderName+"/" + fName); //放置在舞台的00点 doc.library.addItemToDocument({x:0, y:0}); //转化为元件 doc.convertToSymbol('movie clip', '', 'top left'); fl.getDocumentDOM().moveSelectionBy({x:0, y:0}); //选择舞台上的对象 doc.getTimeline().layers[0].frames[0].elements[0].name = "mc1"; doc.getTimeline().layers[0].frames[0].elements[0].x = 0; doc.getTimeline().layers[0].frames[0].elements[0].y = 0; doc.getTimeline().layers[0].frames[0].elements[1].name = "mc2"; doc.getTimeline().layers[0].frames[0].elements[1].x = 0; doc.getTimeline().layers[0].frames[0].elements[1].y = 0; //找到刚才选择的文件 var fname = a.name; var idx = fname.indexOf("."); var newName = fname.slice(0,idx); fl.trace(fUrl); fl.trace(newName); var index = newName.lastIndexOf("/"); newName = newName.substr(index+1); var fullName = fUrl+"/"+String(newName) + ".swf"; fl.trace("-----------:" +fullName + "") ; doc.exportSWF(fullName+""); if(i+1<folderContents.length) { doc.mouseClick({x:5, y:5}, false, true); doc.deleteSelection(); doc.mouseClick({x:5, y:5}, false, true); doc.deleteSelection(); } } } } function setItem(item, asName) { if (item.linkageImportForRS == true) { item.linkageImportForRS = false; } item.linkageExportForAS = true; item.linkageExportForRS = false; item.linkageExportInFirstFrame = true; item.linkageClassName = "A" + asName; } function clearAllItem() { doc.library.selectAll(true); var items = doc.library.getSelectedItems(); if(items.length > 0) { var i; for(i=items.length-1; i>-1; i--) { if(items[i].itemType == "bitmap") { doc.library.deleteItem(items[i].name); } } } }