actionscript 3 - AS3 Loader keeps reloading same swf over and over -


i have flash animation made on main timeline of swf couple of layers, functions , keyframe labels. example, have movieclip of star come across screen , triggers dispatchevent main timeline go frame label "next".

here sample of actionscript used on main timeline :

stars.addeventlistener("fadeintitle",_fadeintitle);  function _fadeintitle(e:event):void {     title.gotoandplay("fadein");     stars.removeeventlistener("fadeintitle",_fadeintitle); }  stop(); 

that swf alone works perfectly. problem comes when try load swf one. happens loader keeps reloading swf on , over, overlapping them , actionscript that's on main timeline of loaded swf ignored, timeline plays continuously. here code use load swf :

import flash.net.urlrequest; import flash.display.loader; import flash.events.event; import flash.events.progressevent;  function startload(){     var mloader:loader = new loader();     var mrequest:urlrequest = new urlrequest("fly.swf");     mloader.contentloaderinfo.addeventlistener(event.complete, oncompletehandler);     mloader.contentloaderinfo.addeventlistener(progressevent.progress, onprogresshandler);     mloader.load(mrequest); }  function oncompletehandler(loadevent:event){     addchild(loadevent.target.content); }  function onprogresshandler(mprogress:progressevent){     var percent:number = mprogress.bytesloaded/mprogress.bytestotal; }  startload(); 

there's nothing special there. simple loader.

i have found workaround putting entire animation inside 1 main movieclip , put movieclip on main timeline (one keyframe, 1 layer, no actionscript) , load it. way works fine feel more patch solution. know why it's bugging when try load external swf use main timeline multiple layers, keyframes , actionscript.

any help/hint appreciated.
lot reading.

m

first take loader instantiation out of function, not necessary. second, kill listeners in oncomplete function. third, if loader code on timeline of loader shell, make sure there not more 1 frame, or if there (not sure why there though) place stop on frame containing loader code. or better, use document class contain loader code rather putting on timeline. best guess calling startload() on again somehow. also, make sure have flash debug player installed getting proper error reporting when viewing in browser.

var mloader:loader = new loader(); var mrequest:urlrequest = new urlrequest("fly.swf"); mloader.contentloaderinfo.addeventlistener(event.complete, oncompletehandler); mloader.contentloaderinfo.addeventlistener(progressevent.progress, onprogresshandler); mloader.load(mrequest);   function oncompletehandler(loadevent:event) {     mloader.contentloaderinfo.removeeventlistener(event.complete, oncompletehandler);     mloader.contentloaderinfo.removeeventlistener(progressevent.progress, onprogresshandler);     addchild(loadevent.target.content); }  function onprogresshandler(mprogress:progressevent) {     var percent:number = mprogress.bytesloaded/mprogress.bytestotal; } 

Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -