2013-12-16 78 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); 
} 
相关问题