//單個資源文件的打包
var qualityValue=80;
var log="";
var resourcePath=fl.browseForFolderURL("請選擇素材路徑:");
var sourcePath="file:///D|/img/";
function main(){
//createSwf(sourcePath);
createSwf(resourcePath);
}
function clearFla(){
var fileList=FLfile.listFolder(resourcePath+"/"+"*.fla");
var fc=fileList.length;
for(var i=0;i<fc;i++){
fl.trace(resourcePath+""+fileList[i]+"----"+FLfile.remove(resourcePath+"/"+fileList[i]));
}
}
function createSwf(currDir){
var fileList=FLfile.listFolder(currDir+"/*.png","files");
var frameCount=fileList.length;
if(frameCount > 0){
fl.trace(frameCount);
for(var i=0;i<frameCount;i++){
var doc=fl.createDocument("timeline");
var timeline=doc.getTimeline();
var fileName=currDir+"/"+fileList[i];
doc.importFile(fileName,true);
var lib=doc.library;
var item=lib.items[0];
item.linkageExportForAS=true;
item.linkageExportInFirstFrame=true;
item.linkageBaseClass="";
item.linkageClassName=item.name.substr(0,item.name.lastIndexOf("."));
item.compressionType="photo";
item.quality=qualityValue;
var profileXML=fl.getDocumentDOM().exportPublishProfileString('Default');
fl.trace(profileXML);
var newProfileXML = profileXML.replace("<html>1</html>","<html>0</html>");
fl.getDocumentDOM().importPublishProfileString(newProfileXML);
fl.saveDocument(doc,currDir+"/"+item.linkageClassName+".fla");
doc.publish();
doc.close();
}
clearFla();
alert("處理完成!");
}
}
main();
附上jsfl的api:http://help.adobe.com/zh_CN/flash/cs/extend/index.html
打開“打開文件”或“保存文件”系統對話框,允許用戶指定要打開或保存的文件。 |
|
顯示“瀏覽文件夾”對話框,允許用戶選擇文件夾。 |
FLfile.listFolder()
document.importFile()
document.library
|
library.items
item.linkageExportForAS
描述屬性;一個布爾值。如果此屬性爲 true,則爲 ActionScript 導出該項。也可以將 item.linkageExportForRS 和 item.linkageExportInFirstFrame 屬性設置爲 true。 如果將此屬性設置爲 true,則必須將 item.linkageImportForRS 屬性設置爲 false。此外,還必須指定標識符 (item.linkageIdentifier) 和 URL (item.linkageURL)。 |
item.linkageExportInFirstFrame
描述屬性;一個布爾值。如果爲 true,則項目在第一幀中導出;如果爲 false,則項目在第一個實例的幀中導出。如果該項目沒有出現在舞臺上,則表明其未被導出。 僅當 item.linkageExportForAS 和/或 item.linkageExportForRS 設置爲 true 時,此屬性才能設置爲 true。 |
item.linkageBaseClass
描述屬性;一個字符串,它指定將與元件關聯的 ActionScript 3.0 類。此處指定的值將顯示在創作環境的“鏈接”對話框以及其他包括“鏈接”對話框控件的對話框(例如元件的“屬性”對話框)中。(若要爲 ActionScript 2.0 類指定此值,請使用 item.linkageClassName。) 如果基類是元件類型的默認值(例如,對於影片剪輯爲“flash.display.MovieClip”,對於按鈕爲“flash.display.SimpleButton”等),則此屬性爲空字符串 ("")。同樣,若要使某個項成爲默認的基類,請將該值設置爲空字符串。 設置該值時,“鏈接”對話框不會執行任何既定的檢查,因此如果 Flash 無法將基類設置爲指定值,將不會引發任何錯誤。例如,在“鏈接”對話框中設置此值會強制進行檢查,以確保可以在 FLA 文件的類路徑中找到基類。這確保了在“發佈設置”對話框的“Flash”選項卡中可以選擇 ActionScript 3.0,依此類推。在腳本中設置該屬性時,不會執行這些檢查。 |
item.linkageClassName
描述屬性;一個字符串,它指定將與元件關聯的 ActionScript 2.0 類。(若要爲 ActionScript 3.0 類指定此值,請使用 item.linkageBaseClass。) 若要定義此屬性,item.linkageExportForAS 和/或 item.linkageExportForRS 屬性必須設置爲 true,並且 item.linkageImportForRS 屬性必須設置爲 false。 |
bitmapItem.compressionType
用法bitmapItem.compressionType 描述屬性;字符串,用於確定應用於位圖的壓縮類型。可接受的值爲 "photo" 或 "lossless"。如果 bitmapItem.useImportedJPEGQuality 的值是 false,則 "photo" 使用品質 0 到 100 來對應 JPEG;如果 bitmapItem.useImportedJPEGQuality 爲 true,則 "photo" 使用默認的文檔品質值來對應 JPEG。值 "lossless" 對應於 GIF 或 PNG 格式(請參閱 bitmapItem.useImportedJPEGQuality)。 |
bitmapItem.quality
用法bitmapItem.quality 描述屬性;整數,用於指定位圖的品質。若要使用默認文檔品質,則指定爲 -1;否則指定一個 0 到 100 範圍內的整數。該屬性僅對 JPEG 壓縮可用。 |
fl.getDocumentDOM()
描述方法;檢索當前活動文檔(FLA 文件)的 DOM(Document 對象)。如果有一個或多個文檔是打開的,但有一個文檔當前並不具有焦點(例如,如果 JSFL 文件具有焦點),則檢索最近的活動文檔的 DOM。 |
document.exportPublishProfileString()
用法document.exportPublishProfileString( [profileName] ) 參數
返回一個 XML 字符串。 描述方法:返回一個字符串,它以 XML 格式表示指定的配置文件。如果不爲 profileName 傳遞值,則導出當前配置文件。 |
document.importPublishProfileString()
用法document.importPublishProfileString(xmlString) 參數
返回一個布爾值:如果成功導入該字符串,則爲 true;否則爲 false。 描述方法;導入一個表示發佈配置文件的 XML 字符串,並將其設置爲當前配置文件。若要生成要導入的 XML 字符串,請在使用此方法之前使用 document.exportPublishProfileString()。 |
fl.saveDocument()
參數
|