actionscript 3 - Loading image into flash project dynamically -
actionscript 3 - Loading image into flash project dynamically -
i'm trying create as3 project dynamically pulls images database , sticks them framework of flash film making this. next tutorial (in as2, , converting as3 go along) , trying images load same directory project, having issues loader. finish newb @ as3 , such have no thought doing, come guys help why programme won't work properly. here entire code project.
import flash.net.urlloader; import flash.events.event; import flash.net.urlrequest; import flash.display.movieclip; import flash.display.*; import com.greensock.tweenlite; import com.greensock.easing.*; var xmlpath = "content.xml"; var photos_xml:xml = new xml(); var imagelist:xmllist = new xmllist(); var xmlloader:urlloader = new urlloader(); xmlloader.addeventlistener(event.complete, loadxml) var imageloader:loader = new loader(); imageloader.addeventlistener(event.init, inithandler); imageloader.addeventlistener(event.complete, completehandler); var currentimage:number = 0; var timer:number; xmlloader.load(new urlrequest(xmlpath)); //stop(); function loadxml(e:event):void { photos_xml = new xml(e.target.data); imagelist = photos_xml.image.text(); //for (var i:int = 0; < imagelist.length(); i++) // { // trace (imagelist[i]); // } loadimage(); } function loadimage() { var loadurl = imagelist[currentimage] var req:urlrequest = new urlrequest(loadurl); var targetclip:movieclip = new movieclip(); targetclip.alpha = 0; clearinterval(timer); //trace(loadurl); //======== imageloader refuses throw events! =========== trace(req.url) imageloader.load(req); targetclip.addchild(imageloader); shell_mc.pics_mc.addchild(targetclip); trace("i in loadimage"); } function settimer():void { timer = setinterval(loadimage, 1000); } function removeprevious(previmg:movieclip):void { if (previmg != null) { removechild(previmg); //removemovieclip(previmg); } //trace(currentimage); currentimage = (currentimage + 1) % imagelist.length(); } function inithandler(event:event):void { trace("i in inithandler"); tweenlite.to(shell_mc.background_mc, 0.25, {width:event.target.width + 20, height:event.target.height + 20, ease:quad.easeout}); tweenlite.to(shell_mc.border_mc, 0.25, {width:event.target.width, height:event.target.height, ease:quad.easeout}); tweenlite.to(shell_mc.mask_mc, 0.25, {width:event.target.width, height:event.target.height, ease:quad.easeout}); var clipxtarg = math.round((stage.width / 2) - ((event.target.width + 20) / 2)); var clipytarg = math.round((stage.height / 2) - ((event.target.height + 20) / 2)); tweenlite.to(shell_mc, 0.25, {x:clipxtarg, y:clipytarg, ease:quad.easeout}); var previmgnum:number; if (currentimage == 0) { previmgnum = imagelist.length() - 1; } else { previmgnum = currentimage - 1; } var previmg = shell_mc.pics_mc["pic" + previmgnum]; tweenlite.to(previmg, 0.25, {autoalpha:0, oncomplete:removeprevious(previmg)}); } function completehandler(event:event):void { trace("i in completehandler"); tweenlite.to(event.target, 0.25, {autoalpha:100, delay:0.25}); settimer(); }
the issue here imageloader won't throw events loading image file, , there absolutely no errors give me clue why might failing. here how xml file looks:
assets/davinci1.jpg assets/davinci2.jpg assets/davinci3.jpg
both project , assets folder in same directory, filepath should not issue, otherwise don't know. here tutorial next (http://active.tutsplus.com/tutorials/xml/flash-slideshow-xml/)
when loading swf
or image
types need add together eventlistener not loader
contentloaderinfo
contentloader = new loader (); contentloader.contentloaderinfo.addeventlistener ( event.complete, handlecomplete ); contentloader.contentloaderinfo.addeventlistener ( progressevent.progress, handleprogress ); contentloader.contentloaderinfo.addeventlistener ( errorevent.error, handleerror ); contentloader.contentloaderinfo.addeventlistener ( ioerrorevent.io_error, handleerror ); contentloader.contentloaderinfo.addeventlistener ( securityerrorevent.security_error, handleerror );
and whe need load info ( text based files ) doing xmlloader
dataloader = new urlloader (); dataloader.addeventlistener ( event.complete, handlecomplete ); dataloader.addeventlistener ( progressevent.progress, handleprogress ); dataloader.addeventlistener ( errorevent.error, handleerror ); dataloader.addeventlistener ( ioerrorevent.io_error, handleerror ); dataloader.addeventlistener ( securityerrorevent.security_error, handleerror );
actionscript-3 actionscript
Comments
Post a Comment