Actionscript 3 loadermax以获取swf的限定类名
典型的as3代码如下Actionscript 3 loadermax以获取swf的限定类名,actionscript-3,gsap,Actionscript 3,Gsap,典型的as3代码如下 private function load():void { var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); if(Security.sandboxType == Security.REMOTE) { loaderContext.securityDomain = SecurityD
private function load():void {
var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
if(Security.sandboxType == Security.REMOTE) {
loaderContext.securityDomain = SecurityDomain.currentDomain;
}
loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit);
loader.load(new URLRequest("capture.swf"), loaderContext);
}
private function handleInit(event:Event){
var className:String = getQualifiedClassName(loader.content);
var classRef:Class = loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
var captureModule = new classRef();
addChild(captureModule as DisplayObject);
}
现在,在使用greensock的loadermax时,我如何访问限定的类名,它的引用,自己创建一个对象并添加到display中
loaderMax.append(new SWFLoader("capture.swf", {name:"capture"}));
loaderMax.append(new SWFLoader("filter.swf", {name:"filter"}));
loaderMax.load();
loadComplete函数
function completeHandler(event:LoaderEvent): void {
trace(event.target + " is complete");
var capture = loaderMax.getContent("capture");
trace(getQualifiedClassName(capture)); //want to reach the custom class of the loaded sf
}
事实证明,加载的swf有一个属性loaderInfo.loader,您可以访问该属性来使用加载程序
var loader = loaderMax.getContent("capture").rawContent.loaderInfo.loader;
this.data["capture"] = loader.contentLoaderInfo.applicationDomain.getDefinition(getQualifiedClassName(loaderMax.getContent("capture").rawContent)) as Class;