actionscript 3 - How to load external swf and use the child class -
i load external child swf parent swf (under same directory). did try, child loaded class in didn't work.
1) how can load class of child swf?
2) how can unload class of child swf?(becoz there many ext. swf different class)
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") class; addchild(loadevent.currenttarget.content); }
game1.fla
import net.keithhair.keymanager; keymanager=new keymanager(stage); keymanager.addkey(["a"], dosomething); function dosomething():void { //do }
result:
typeerror: error #1009: cannot access property or method of null object reference. @ net.keithhair::keymanager/removelisteners() @ net.keithhair::keymanager/addlisteners() @ net.keithhair::keymanager() @ game1_fla::maintimeline/frame1()
function constructor(){ if (stage){ onaddedtostage(); } else { addeventlistener(event.added_to_stage, onaddedtostage); } } function onaddedtostage(evt:event=null):void { var keymanager:keymanager; trace("here!") keymanager=new keymanager(stage); keymanager.addkey(["a"], dosomething } constructor();
the above code solve problem. thank destinier & senocular
Comments
Post a Comment