Hello!
I have the following code which brings pictures from xml into a slideshow and upon pressing btnNext the next image slides on and the one that was on stage slides off… Now when I press btnBack the previous images slides on but a next image slides on too and they collide!!! :cantlook:
Would you be so kind as to review my code and tell me what I should use to eliminate the casualty toll! I was thinking something like removeChildAt, but that does not quite work how I have it set up. When I publish it, it removes my stage background… and then my btnNext… and then my btnBack… and then I can’t do anything…
Thanks for any help!!
import fl.transitions.Tween;
import fl.transitions.easing.*;
import com.pixelfumes.reflect.*;
import flash.display.BitmapData;
var xmlRequest:URLRequest=new URLRequest("imageData.xml");
var xmlLoader:URLLoader=new URLLoader(xmlRequest);
var imgData:XML;
var imageReflect:Reflect;
var imageLoader:Loader;
var rawImage:String;
var rawH:String;
var rawW:String;
var inTween:Tween;
var outTween:Tween;
var imgNum:Number=0;
var checkSec:Timer=new Timer(100);
var numberOfChildren:Number;
var imageLoaderHost:MovieClip;
xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedF);
btnNext.addEventListener(MouseEvent.CLICK, nextImgF);
btnBack.addEventListener(MouseEvent.CLICK, prevImgF);
btnNext.buttonMode=true;
btnBack.buttonMode=true;
function xmlLoadedF(event:Event):void {
checkSec.start();
checkSec.addEventListener(TimerEvent.TIMER, checkerF);
imgData=new XML(event.target.data);
}
function packagedF():void {
checkSec.removeEventListener(TimerEvent.TIMER, checkerF);
rawImage=imgData.image[imgNum].imgURL;
numberOfChildren=imgData.*.length();
rawW=imgData.image[imgNum].imgW;
rawH=imgData.image[imgNum].imgH;
imageLoaderHost=new MovieClip;
imageLoader=new Loader;
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleteHandler);
imageLoader.load(new URLRequest(rawImage));
master_mc.addChild(imageLoaderHost);
imageLoaderHost.addChild(imageLoader);
imageLoaderHost.y = (stage.stageHeight - Number(rawH)) /5;
inTween = new Tween(imageLoaderHost, "x", Regular.easeInOut, 1500, (stage.stageWidth - Number(rawW)) /1.65, 1.5, true);
imageLoader.scaleX=.8;
imageLoader.scaleY=.8;
}
function loadCompleteHandler(event:Event) {
imageLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadCompleteHandler);
imageReflect=new Reflect({mc:imageLoaderHost,alpha:50,ratio:50,distance:0,updateTime:0,reflectionDropoff:1});
}
function checkerF(event:TimerEvent):void {
if (imgNum==0) {
packagedF();
} else if (imgNum < numberOfChildren) {
packagedF();
} else {
imgNum=0;
packagedF();
}
}
function nextImgF(e:MouseEvent):void {
checkSec.addEventListener(TimerEvent.TIMER, checkerF);
outTween = new Tween(imageLoaderHost, "x", Regular.easeInOut, (stage.stageWidth - Number(rawW)) /1.65, -1200, 1.5, true);
imgNum++;
}
function prevImgF(e:MouseEvent):void {
checkSec.addEventListener(TimerEvent.TIMER, checkerF);
outTween = new Tween(imageLoaderHost, "x", Regular.easeInOut, -1200, (stage.stageWidth - Number(rawW)) /1.65, 1.5, true);
imgNum--;
}