「ライブラリの中でASが書いてあるやつを調べる」を勝手に改良して、ルートのタイムライン (現在開いているタイムライン) の ActionScript も出力するようにした。
また、出力された ActionScript に余計な空行が入っていた (Windows の Flash CS3) のを削除した。
fl.outputPanel.clear(); fl.trace("********** Library Item ActionScript Check **********"); fl.trace(""); var doc = fl.getDocumentDOM(); var isCodeOutput = true; checkLibraryItemActionScript(); function checkLibraryItemActionScript() { if (doc == null) { return; } //traverse current timeline traverse(doc.getTimeline().layers, "current timeline"); //traverse library items var items = doc.library.items; for (var i = 0, length = items.length; i < length; i++) { var item = items[i]; var type = item.itemType; if ((type == "movie clip") || (type == "graphic") || (type == "button")) { var layers = item.timeline.layers; traverse(layers, item.name); } } } function traverse(layers, itemName) { var layerLength = layers.length; for (var i = 0; i < layerLength; i++) { var layer = layers[i]; var frames = layer.frames; var frameLength = frames.length; for (var j = 0; j < frameLength; j++) { var frame = frames[j]; var actionScript = frame.actionScript; if (actionScript) { if (j == frame.startFrame) { var frameNumber = j + 1; fl.trace("########## " + "Library Item:[ " + (itemName || "") + " ], " + "Layer:[ " + layer.name + " ], " + "Frame:[ " + frameNumber + " ] " + "##########"); if (isCodeOutput) { fl.trace(""); fl.trace(actionScript.replace(/\n/g, "")); fl.trace(""); } fl.trace("########################################"); fl.trace(""); fl.trace(""); fl.trace(""); } } } } }