2013-12-16 76 views

回答

1

自動化最好的選擇是使用。以下腳本(從this thread修改)提示輸入目標文件夾和輸出文件夾,然後自動執行打開* .fla文件並通過CreateJS發佈者發佈它們的過程。需要注意的是,CreateJS面板必須已經在Flash中打開(雖然也可能有這樣做的方法)。

還值得注意的是,您可以輕鬆修改此代碼,以硬編碼您需要的路徑,或者讀取JSFL Docs或動態加載清單文件。如果你真的想從命令行運行它,你也可以從批處理中執行它們。

exporter.jsfl

var folderURI = fl.browseForFolderURL("Please select the folder you want to recurse"); 
var outputURI = fl.browseForFolderURL("Please select the output path"); 

var allFlas = FLfile.listFolder(folderURI + "/" + "*.fla", "files"); 
for(var i = 0; i < allFlas.length; i++) 
{ 
    var flaName = allFlas[i]; 

    var doc = fl.openDocument(folderURI + "/" + flaName); 
    var targetName = doc.name.replace(".fla",""); 
    var cjsDataKey = "CreateJSToolkit_data"; 
    //var data = doc.getDataFromDocument(cjsDataKey); 
    var data = [ 
      "version", "0.6", 
      "exportHTML", "true", 
      "frameBounds", "false", 
      "includeHiddenLayers", "false", 
      "soundsPath", "sounds/", 
      "preview", "false", 
      "imagesPath", "images/", 
      "libraryPath", "libs/", 
      "compactPaths", "false", 
      "exportSounds", "true", 
      "imagesNS", "images", 
      "exportLibs", "true", 
      "libNS", "lib_" + targetName.toLowerCase(), 
      "hostedLibs", "true", 
      "exportImages", "true", 
      "outputPath", outputURI, 
      "createjsNS", "createjs" 
    ]; 
    doc.addDataToDocument(cjsDataKey, "string", data.join("\n")); 
    doc.save(); 
    doc.close(false); 
    // Re-open document so that Publish for CreateJS panel picks up changes. 
    doc = fl.openDocument(folderURI + "/" + flaName); 
    fl.runScript(fl.configURI + "Commands/Publish for CreateJS.jsfl"); 
    // Insert an artificial pause here. Seems to be necessary for Toolkit publish. 
    alert("Complete!"); 
    doc.close(false); 
} 
相關問題