From e86bba044b75fe314569baaa49cd99c271c639a8 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Tue, 26 Jan 2016 01:32:39 +0600 Subject: [PATCH] add old exporter from bme --- .../FlashTools/Examples/Animations/anim02.fla | Bin 6345336 -> 6346393 bytes Tools/FlashExport.jsfl | 339 ++++++++++++++++++ 2 files changed, 339 insertions(+) create mode 100644 Tools/FlashExport.jsfl diff --git a/Assets/FlashTools/Examples/Animations/anim02.fla b/Assets/FlashTools/Examples/Animations/anim02.fla index 287251ede9dbe5b9d64f0c54486343b7b951265b..ea0402341e924677952c74b9ad64b3aa11055da2 100644 GIT binary patch delta 6350 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 GsQnkIac=DZ delta 5278 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 CQmyg; diff --git a/Tools/FlashExport.jsfl b/Tools/FlashExport.jsfl new file mode 100644 index 0000000..aea60b1 --- /dev/null +++ b/Tools/FlashExport.jsfl @@ -0,0 +1,339 @@ + +var g_export_path = ""; +var g_library_path = ""; +var g_current_doc = null; +fl.showIdleMessage(false); +Main(); + +function Main() +{ + var documents = fl.documents; + if ( documents && documents.length ) + { + fl.saveAll(); + fl.outputPanel.clear(); + + for ( var i = 0; i < documents.length; ++i ) + { + g_current_doc = documents[i]; + ExportDocument(); + fl.closeDocument(g_current_doc, false); + }; + + alert("-= Process Complete =-"); + } +} + +function ExportDocument() +{ + var document_path = g_current_doc.path; + var last_slash = document_path.lastIndexOf("/"); + var last_dot = document_path.lastIndexOf("."); + + // g_export_path + var export_folder = document_path.substr(0, last_slash) + "/../" + document_path.substr(last_slash, last_dot-last_slash) + "_export/"; + g_export_path = FLfile.platformPathToURI(export_folder); + + // g_library_path + var library_folder = document_path.substr(0, last_slash) + "/LIBRARY/"; + g_library_path = FLfile.platformPathToURI(library_folder); + + // create export folder + FLfile.remove(g_export_path); + FLfile.createFolder(g_export_path); + + // run + ExportLibrary(g_export_path + "Library.xml"); +} + +function PrintNormal( text ) +{ + fl.outputPanel.trace(text); +} + +function PrintWarning( text ) +{ + fl.outputPanel.trace("-= PROCESS WARNING =-\n -- " + text); +} + +function ToRad( deg ) +{ + return deg * Math.PI / 180; +} + +function ExitEditMode() +{ + for ( var i = 0; i < 100; ++i ) + g_current_doc.exitEditMode(); +} + +function ExportLibrary( file ) +{ + ExitEditMode(); + + var doc = g_current_doc; + var library = doc.library; + var temp_layer = doc.getTimeline().addNewLayer("bme_temp_export_layer"); + var file_str = "\n" + + for ( var i = 0; i < library.items.length; ++i ) + { + var item = library.items[i]; + + if ( item.itemType == "folder" ) + { + // create folder + var path = g_export_path + item.name; + FLfile.createFolder(path); + } + else + { + if ( item.itemType == "bitmap" ) + { + file_str += + "\t\n"; + + // copy bitmap to export + FLfile.copy(g_library_path + item.name, g_export_path + item.name); + } + else if ( item.itemType == "movie clip" || item.itemType == "graphic" || item.itemType == "component" ) + { + file_str += + "\t 0 ) + { + var sel = doc.selection[0]; + if ( sel.parameters && sel.parameters.length > 0 ) + { + is_parameters = true; + file_str += ">\n"; + file_str = ExportParameters(sel.parameters, file_str, "\t\t"); + } + } + + if ( is_parameters ) + file_str += "\t\n"; + else + file_str += "/>\n"; + + // export item timeline + + library.editItem(item.name); + ExportTimeline(g_export_path + item.name + ".xml") + ExitEditMode(); + } + else + { + PrintWarning("Unsupported library type(" + item.itemType + ")"); + } + } + } + + FLfile.write(file, file_str + "", "append"); + doc.getTimeline().deleteLayer(); +} + +function ExportTimeline( file ) +{ + var doc_timeline = g_current_doc.getTimeline(); + + // [2:-] for disable dublicate single frame + if ( doc_timeline.frameCount > 1 ) + { + doc_timeline.selectAllFrames(); + doc_timeline.convertToKeyframes(); + } + + var doc_frames = doc_timeline.frameCount; + var doc_framerate = g_current_doc.frameRate; + + var file_str = "= 0; --i ) + { + var doc_layer = doc_timeline.layers[i]; + if ( !doc_layer || !doc_layer.visible ) + continue; + + file_str = ExportLayer(doc_layer, i, file_str, "\t") + } + + FLfile.write(file, file_str + "", "append" ); +} + +function ExportLayer( layer, index, file_str, prefix ) +{ + file_str += prefix + "\n"; + + for ( var i = 0; i < layer.frameCount; ++i ) + { + var frame = layer.frames[i]; + if ( !frame || i != frame.startFrame ) + continue; + + file_str = ExportFrame(frame, i, file_str, prefix + "\t"); + } + + return file_str + prefix + "\n"; +} + +function ExportFrame( frame, index, file_str, prefix ) +{ + file_str += prefix + "\n"; +} + +function ExportElement( element, index, file_str, prefix ) +{ + file_str += prefix + "\n"; +} + +function ExportInstance( instance, file_str, prefix ) +{ + // -------------------------------- + // parameters + // -------------------------------- + + if ( instance.parameters && instance.parameters.length > 0 ) + { + file_str = ExportParameters(instance.parameters, file_str, prefix); + } + + // -------------------------------- + // transform + // -------------------------------- + + file_str += prefix + " 0.01 ) + PrintWarning("Skew transformation unsupported! Element type(" + instance.libraryItem.name + ")"); + + var rotation = "'" + ToRad(instance.skewX) + "'"; + file_str += " rotation=" + rotation; + } + else + { + var rotation = "'" + ToRad(instance.rotation) + "'"; + file_str += " rotation=" + rotation; + } + + // -------------------------------- + // color + // -------------------------------- + + if ( instance.colorAlphaPercent ) + { + var alpha = "'" + instance.colorAlphaPercent / 100 + "'"; + file_str += " alpha=" + alpha; + } + + // -------------------------------- + // blend + // -------------------------------- + + if ( instance.blendMode ) + { + var blend = "'ALPHA'"; + if ( instance.blendMode == "normal" ) blend = "'ALPHA'"; + else if ( instance.blendMode == "add" ) blend = "'ADD'"; + else if ( instance.blendMode == "multiply" ) blend = "'MULTIPLY'"; + else PrintWarning("Unsupported blend mode(" + instance.blendMode + ")"); + + file_str += " blend=" + blend; + } + + return file_str + "/>\n"; +} + +function ExportParameters( params, file_str, prefix ) +{ + file_str += prefix + "\n"; + + for ( var i = 0; i < params.length; ++i ) + { + var param = params[i]; + + if ( param.valueType == "Number" || param.valueType == "Boolean" || param.valueType == "String" ) + { + var name = "'" + param.name + "'"; + var value = "'" + param.value + "'"; + var type = "'" + param.valueType + "'"; + + if ( param.valueType == "Number" ) + value = value.replace(",", "."); + + file_str += prefix + "\t\n"; +}