1
我想加载外部子swf到父swf(在同一目录下)。 我确实尝试过,孩子被加载,但其中的班级没有工作。如何加载外部swf和使用子类
1)如何加载儿童swf的类?
2)我怎样才能卸载类子SWF的?(becoz可能有许多分机的SWF不同类)
THX
main.fla
function startLoad(){
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("game1.swf");
var mLoaderContext:LoaderContext = new LoaderContext(false,ApplicationDomain.currentDomain);
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
mLoader.load(mRequest, mLoaderContext);
}
function onCompleteHandler(loadEvent:Event){
var keyManager:Class = ApplicationDomain.currentDomain.getDefinition("net.keithhair.KeyManager") as Class;
addChild(loadEvent.currentTarget.content);
}
的Game1。 FLA
import net.keithhair.KeyManager;
keyManager=new KeyManager(stage);
keyManager.addKey(["a"], doSomething);
function doSomething():void {
//do something
}
结果:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at net.keithhair::KeyManager/removeListeners()
at net.keithhair::KeyManager/addListeners()
at net.keithhair::KeyManager()
at game1_fla::MainTimeline/frame1()
你试过吗? http://stackoverflow.com/questions/1634757/as3-instantiate-class-from-external-swf –
试过。相同的结果:TypeError:错误#1009:无法访问空对象引用的属性或方法。 \t在net.keithhair ::的KeyManager/removeListeners() \t在net.keithhair ::的KeyManager/addListeners() \t在net.keithhair ::的KeyManager() \t在main_fla :: MainTimeline/fooLoadComplete() – frankyG