1
我正在尋找一種方法來自動執行從命令行運行toolkit for flash for createjs的任務。我們可以通過命令行從flash導出到createjs嗎?
我有很多單獨的組件,我想在批處理中導出它們。這可以做到嗎?
我正在尋找一種方法來自動執行從命令行運行toolkit for flash for createjs的任務。我們可以通過命令行從flash導出到createjs嗎?
我有很多單獨的組件,我想在批處理中導出它們。這可以做到嗎?
自動化最好的選擇是使用jsfl。以下腳本(從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);
}