Forked from: nacookan's AS3 getClassesByPackage のテスト diff:1 forked from: AS3 getClassesByPackage のテスト nacookan forked:0favorite:0lines:37license : MIT License modified : 2010-03-16 03:44:33 Embed Tweet // forked from nacookan's AS3 getClassesByPackage のテスト // http://pipes.yahoo.com/nacookan/as3_get_classes_by_package // のテスト。 package { import flash.display.*; import flash.net.*; import flash.events.*; import flash.text.*; import flash.utils.*; import fl.motion.easing.*; import com.flashdynamix.motion.*; public class FlashTest extends Sprite { public function FlashTest() { var package_name:String = 'fl.motion.easing'; var url:URLRequest = new URLRequest( 'http://pipes.yahooapis.com/pipes/pipe.run?' + [ '_id=531947c37fa1943fa3451fcab9fafdef', '_render=rss', 'package=' + package_name ].join('&') ); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, function(e:Event):void{ var xml:XML = new XML(loader.data); var items:XMLList = xml.channel.item; for(var i:Number = 0; i < items.length(); i++){ addEasing(package_name, items[i].title.toString()); } }); loader.load(url); } private function addEasing(package_name:String, class_name:String):void{ // ホントはここで、パッケージとクラスの名前をもとに // クラス定義を取ってきて、実際にアニメーションで // グラフか何かを書こうと思ったけど、実際やってみたら // コンパイラが認識したクラスだけswfに含まれるらしく、 // コンパイル後に文字列をもとに好きなクラスを呼び出す // ことができなかった。だからとりあえず名前だけ // 出力しておく。 var t:TextField = new TextField(); t.autoSize = TextFieldAutoSize.LEFT; t.text = package_name + '.' + class_name; t.y = numChildren * 20; addChild(t); } } } Code Fullscreen Preview Fullscreen