我们可以通过命令行从flash导出到createjs吗?

我正在寻找一种方法来自动从命令行运行createjs的Flash工具包的任务。

我有很多单独的组件,我想在批处理中导出它们。 可以这样做吗?

你最好的自动化赌注是使用jsfl 。 从此线程修改的以下脚本提示input目标文件夹和输出文件夹,然后自动执行打开* .fla文件并通过CreateJS发布器发布它们的过程。 需要注意的是,CreateJS面板必须已经在Flash中打开(尽pipe也可能有这样做的方法)。

还值得注意的是,您可以轻松修改此代码,以硬编码您需要的path,或读取JSFL文档或dynamic加载清单文件。 如果你真的想从命令行运行它,你也可以从批处理中执行它们。

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); }