# XML Gallery - resizing, waiting to load, fading in

**URL:** <https://forum.kirupa.com/t/xml-gallery-resizing-waiting-to-load-fading-in/317210>\
**Category:** flash\
**Created:** [December 13, 2010, 9:21pm UTC](https://forum.kirupa.com/t/xml-gallery-resizing-waiting-to-load-fading-in/317210 "2010-12-13T21:21:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisjames](https://avatars.discourse-cdn.com/v4/letter/c/c77e96/32.png) [@chrisjames](https://forum.kirupa.com/u/chrisjames)\
**Post date:** [December 13, 2010, 9:21pm UTC](https://forum.kirupa.com/t/xml-gallery-resizing-waiting-to-load-fading-in/317210/1 "2010-12-13T21:21:20Z")

</div>

Let me see if I can explain this.

I have an xml gallery that I’m making for my photo business, and I’m having a problem with the order of events firing off here.

Right now when I test my flash, there is a brief moment where I see the image resize from big to the resized format… and the fader does not work anymore.

I want for everytime I open the gallery or click on an image for the resize event to happen, have the image loaded, so that the fading I have in function checkerF can begin…

Pretty much like this:  
Open gallery  
Resized image fades in…

I can’t quite figure out what I’m doing wrong here…? I’m new to this and any help would be much appreciated.

Below is the full actionscript code of the Fla. file.

* * *

import flash.display.Sprite;  
import flash.display.StageAlign;  
import flash.display.StageScaleMode;  
import flash.events.Event;  
import flash.utils.Timer;  
import flash.events.TimerEvent;  
import flash.events.MouseEvent;  
import fl.transitions.Tween;  
import fl.transitions.easing.\*;

var xmlRequest:URLRequest = new URLRequest(“gallery.xml”);  
var xmlLoader:URLLoader = new URLLoader(xmlRequest);  
var rawXML:XML;  
var imgData:XML;  
var imageLoader:Loader;  
var rawImage:String;  
var rawH:String;  
var rawW:String;  
var imgNum:Number = 0;  
var brandNew:Number = 1;  
var checkSec:Timer = new Timer(500);  
var numberOfChildren:Number;

xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedF);  
master\_mc.addEventListener(MouseEvent.CLICK, nextImgF);  
master\_mc.buttonMode = true;  
nextBTN.addEventListener(MouseEvent.CLICK, nextImgF);  
previousBTN.addEventListener(MouseEvent.CLICK, prevImgF);

stage.addEventListener(Event.ENTER\_FRAME, stageResize);  
stage.addEventListener(Event.RESIZE, stageResize);  
stage.scaleMode=StageScaleMode.NO\_SCALE;  
stage.align=StageAlign.TOP\_LEFT;

setStage();

function setStage():void {  
var WIDTH:Number=stage.stageWidth;  
var HEIGHT:Number=stage.stageHeight;  
master\_mc.width = WIDTH;  
master\_mc.height = HEIGHT;  
( master\_mc.scaleX \< master\_mc.scaleY ) ? master\_mc.scaleY = master\_mc.scaleX : master\_mc.scaleX = master\_mc.scaleY;

```
} 

```

function stageResize(e:Event):void {

```
	setStage(); }

```

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);  
}

function checkerF(event:TimerEvent):void{   
var playerFadeTween:Tween = new Tween(master\_mc, “alpha”, Strong.easeOut, 0, 1, 1, true);  
if(brandNew == 1) {  
brandNew = 0;  
packagedF();  
}else if(imgNum \< numberOfChildren){  
imageLoader.unload();  
packagedF();  
}else{  
imageLoader.unload();  
imgNum = 0;  
packagedF();  
}  
}

function nextImgF(event:MouseEvent):void{  
checkSec.addEventListener(TimerEvent.TIMER, checkerF);  
imgNum++;

}

//listen for key press  
stage.addEventListener(KeyboardEvent.KEY\_DOWN, myKeyNext);

//if left or right arrow, go to previous or next frame  
function myKeyNext(e:KeyboardEvent):void {

switch (e.keyCode) {  
case Keyboard.RIGHT :  
checkSec.addEventListener(TimerEvent.TIMER, checkerF);  
imgNum++;  
}  
}

//listen for key press  
stage.addEventListener(KeyboardEvent.KEY\_DOWN, myKeyPrev);

//if left or right arrow, go to previous or next frame

function myKeyPrev(e:KeyboardEvent):void {

switch (e.keyCode) {  
case Keyboard.LEFT :  
checkSec.addEventListener(TimerEvent.TIMER, checkerF);  
if(imgNum == 0) {  
imgNum = numberOfChildren;  
}  
imgNum–;

}  
}

function prevImgF(event:MouseEvent):void{  
checkSec.addEventListener(TimerEvent.TIMER, checkerF);  
if(imgNum == 0) {  
imgNum = numberOfChildren;  
}  
imgNum–;

}
