実行時に反射でロードされたswfのClassを取得
3185 ワード
package {
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.DisplayObject;
import flash.system.ApplicationDomain;
import flash.utils.getDefinitionByName;
/*
*
* swf Class
*/
public class Main extends MovieClip {
private var loader : Loader = new Loader();
private var path : URLRequest = new URLRequest("Test.swf"); // swf
public function Main() {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
loader.load(path);
}
private function loaded(evt : Event) : void{
trace(evt.target);
var swf : DisplayObject = evt.target.content as DisplayObject;
addChild(swf);
var classRef : Object = swf.loaderInfo.applicationDomain.getDefinition("Test"); // swf Class
var ff : DisplayObject = new classRef()as DisplayObject; // Test
addChild(ff);
ff.x = 100;
}
}
}