Timer issues
I'm still trying to wrap my head around AS3 and timers. What I'm trying to do is have an image fade in, pause for 6 seconds and then fade out. My 6 seconds is doing something, but it's not what I want it to do and I'm not sure why. If anyone knows of a really good timer tutorial dealing with images, I'd appreciate it.
Here's my code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var myTween:Tween;
var xmlRequest:URLRequest = new URLRequest("imageData.xml");
var xmlLoader:URLLoader = new URLLoader(xmlRequest);
var imgData:XML;
var imageLoader:Loader;
var rawImage:String;
var rawH:String;
var rawW:String;
var imgNum:Number = 0;
var checkSec:Timer = new Timer(100);
var delay:Timer = new Timer(6000);
var numberOfChildren:Number;
xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedF);
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;
imageLoader = new Loader;
imageLoader.load(new URLRequest(rawImage));
master_mc.addChild(imageLoader);
imageLoader.x = (stage.stageWidth - Number(rawW)) / 2;
imageLoader.y = (stage.stageHeight - Number(rawH)) / 2;
imageLoader.alpha = 0;
myTween = new Tween(imageLoader,"alpha", Regular.easeOut, imageLoader.alpha, 1, 3, true);
delay.start();
delay.addEventListener(TimerEvent.TIMER, nextImgF);
myTween.addEventListener(TweenEvent.MOTION_FINISH, fadeOut);
}
function checkerF(event:TimerEvent):void{
if(imgNum == 0){
packagedF();
}else if(imgNum < numberOfChildren){
imageLoader.unload();
packagedF();
}else{
imageLoader.unload();
imgNum = 0;
packagedF();
}
}
function nextImgF(event:TimerEvent): void {
checkSec.addEventListener(TimerEvent.TIMER, checkerF);
imgNum++;
}
function fadeOut(e:Event):void{
imageLoader.alpha = 1;
myTween = new Tween(imageLoader,"alpha", Strong.easeOut, imageLoader.alpha, 0, 3, true);
}