當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSFL:导入Png图片导出swf
生活随笔
收集整理的這篇文章主要介紹了
JSFL:导入Png图片导出swf
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
現在項目需要用到某種格式的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);}}} }
轉載于:https://www.cnblogs.com/holycy/p/3469943.html
總結
以上是生活随笔為你收集整理的JSFL:导入Png图片导出swf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP 学习1.1
- 下一篇: 12月16日课程安排