Share Posted March 20, 2012 Here's another one. I am designing an application where I load different images into the same Movie Clip. The code works fine, but I don't know how to unload without errors (a child is added the Movie Clip for every click). For that matter, I don't know if this is the best solution. Any advice? Object(root).mc_news_heds.addEventListener(MouseEvent.MOUSE_DOWN, newsMenuHandler); function newsMenuHandler(event:MouseEvent):void { if (event.target.name == "mc_newsItem1"){ var mainImage:ImageLoader = new ImageLoader("http://ts-ses-2/lv/images/" + newsInfo.News[0].img_preview[0], {container:Object(root).mc_newsStage.mc_newsPhoto, width:465, height:580, scaleMode: 'proportionalOutside', alpha: 0, crop:"true", estimatedBytes:60000, onComplete:imageCompleteHandler}); mainImage.load(); } if (event.target.name == "mc_newsItem2"){ var mainImage:ImageLoader = new ImageLoader("http://ts-ses-2/lv/images/" + newsInfo.News[1].img_preview[0], {container:Object(root).mc_newsStage.mc_newsPhoto, width:465, height:580, scaleMode: 'proportionalOutside', alpha: 0, crop:"true", estimatedBytes:60000, onComplete:imageCompleteHandler}); mainImage.load(); } } Link to post Share on other sites
Share Posted March 21, 2012 you're sort of on the right track. once you define your ImageLoader inside your newsMenuFunction, you really get access it outside that function. Although LoaderMax does store a reference to it but you would have to remember the "name" or "url" property. its a longer story. for now you can declare your ImageLoader and its special properties once and then use the button to control which url to load. This way each time you load() a new image, the previous one will automatically be replaced. consider the following code: //define the ImageLoader and its special props var myImage:ImageLoader = new ImageLoader("", {container:this,alpha:.5, x:0, y:0, estimatedBytes:60000, onProgress:progressHandler}); crab_btn.addEventListener(MouseEvent.CLICK, loadImage); whale_btn.addEventListener(MouseEvent.CLICK, loadImage); function loadImage(e:MouseEvent):void{ //assign the proper url based on button clicked if(e.target.name =="crab_btn"){ myImage.url = "images/crab.png"; } if(e.target.name == "whale_btn"){ myImage.url = "images/whale.png"; } myImage.load(); } Link to post Share on other sites
Author Share Posted March 22, 2012 Thanks, Carl. The code works well. Here's how I coded my project: var mainImage:ImageLoader = new ImageLoader("", {container:Object(root).mc_newsStage.mc_newsPhoto, width:465, height:580, scaleMode: 'proportionalOutside', alpha: 0, crop:"true", estimatedBytes:60000, onComplete:imageCompleteHandler}); //Buttons are nested in the mc: Object(root).mc_news_heds.addEventListener(MouseEvent.MOUSE_DOWN, newsMenuHandler); function newsMenuHandler(event:MouseEvent):void { if (event.target.name == "mc_newsItem1"){ LoaderMax.getLoader("mainPhoto").url = "image1" } if (event.target.name == "mc_newsItem2"){ LoaderMax.getLoader("mainPhoto").url = image2; } The only snag is that the onComplete doesn't fire after the first click, so my alpha tween is not applied. Link to post Share on other sites
Share Posted March 22, 2012 onComplete doesn't fire after the first click not so sure why that would happen. your code doesn't show the onCompleteHandler or where you are invoking a load(). if you want to show all the code or provide files I will look at them. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now