スキップしてメイン コンテンツに移動

投稿

ラベル(swc)が付いた投稿を表示しています

SWF内のクラスを抽出するライブラリ

最近、SWFファイルを解析してそのSWF内に含まれるクラスの一覧を取得する方法を考えていました。ちょっとGoogle先生で調べていたところ、まさしく「SWF内のクラスを抽出するライブラリ」そのものを公開しているblogを見つけました! Swf Class Explorer for AS3 公開されている方法は、SWFのバイナリを解析して、クラス情報を抽出するという方法をとっています。SWCファイルとライブラリの使い方のサンプルだけでなく、ソースコードそのものも公開されています!こういうものをサクッと公開できるセンスには脱帽です・・・。 私なりにサンプルを書いてみました。 package utils.tool { import com.flassari.swfclassexplorer.SwfClassExplorer; import flash.display.Loader; import flash.display.LoaderInfo; import flash.events.Event; import flash.system.LoaderContext; import flash.utils.ByteArray; /** * ... * @author Duke */ public class SWFLoadHelper { public static function loadClasses(swf:ByteArray, start:Function, inLoop:Function, finish:Function):void { var complete:Function = function complete(e:Event):void { start(); var loaderInfo:LoaderInfo = (e.currentTarget) as LoaderInfo; var classNames:Array = SwfClassExplorer.getClasses(swf); loaderInfo.removeEventListener(Event.COMPLETE, complete); for each(var className:String

ExportSWC - FlashDevelopでswcファイルを生成

ExportSWC というアドインで FlashDevelop からswcファイルを生成できます。 私はこのアドインを使って、swcファイルを生成しようとしたのですが、以下のエラーに遭遇しました。 --- Error: could not find source for resource bundle containers. Error: could not find source for resource bundle core. Error: could not find source for resource bundle effects. Error: could not find source for resource bundle skins. Error: could not find source for resource bundle styles. --- Google先生で調べてみると、以下のページを見つけました。 Unable To Generate a SWC if using a third party SWC 結論から書きますと、 -library-path {flexSDK}/frameworks/locale/en_US をCompiler Optionに加えればいいようです。私は面倒くさかったので、必要なswcファイルを全部かき集めて1つのディレクトリ(例:lib)に入れて、 -library-path lib をCompiler Optionに加えてコンパイルしました。:)