# Problem with gallery AS3

**URL:** <https://forum.kirupa.com/t/problem-with-gallery-as3/289272>\
**Category:** Uncategorized\
**Created:** [May 28, 2009, 10:34am UTC](https://forum.kirupa.com/t/problem-with-gallery-as3/289272 "2009-05-28T10:34:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![snat](https://avatars.discourse-cdn.com/v4/letter/s/a9adbd/32.png) [@snat](https://forum.kirupa.com/u/snat)\
**Post date:** [May 28, 2009, 10:34am UTC](https://forum.kirupa.com/t/problem-with-gallery-as3/289272/1 "2009-05-28T10:34:40Z")

</div>

hi,

I’ve created a website and I’ve inserted in one of them a gallery in AS3. It works but I’ve a very big big problem.

After visited the page with the gallery, the gallery remains always on the background, I mean if I’m visiting the gallery with all the photos (in the “image” page) and then I want to back to the “home” or to another page, the gallery is still on the back, so I’ve the normal home with the text **plus** the gallery on the back.  
How can I fix it?! I want that when I click somewhere else it disappears…

Thanks for your advices.  
Here’s the code:

```auto
import fl.controls.ProgressBar;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var columns:Number;
var my_x:Number;
var my_y:Number;
var my_thumb_width:Number;
var my_thumb_height:Number;
var my_images:XMLList;
var my_total:Number;

var container_mc:MovieClip;
var preloaders_mc:MovieClip;
var full_mc:MovieClip;

var x_counter:Number = 0;
var y_counter:Number = 0;

var my_tweens:Array = [];
var container_mc_tween:Tween;
var full_tween:Tween;

var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("gallery.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void {
    var myXML:XML = new XML(e.target.data);

    columns = myXML.@COLUMNS;
    my_x = myXML.@XPOSITION;
    my_y = myXML.@YPOSITION;
    my_thumb_width = myXML.@WIDTH;
    my_thumb_height = myXML.@HEIGHT;
    my_images = myXML.IMAGE;
    my_total = my_images.length();

    createContainer();
    callThumbs();

    myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
    myXMLLoader = null;
}

function createContainer():void {
    container_mc = new MovieClip();
    container_mc.x = my_x;
    container_mc.y = my_y;
    addChild(container_mc);

    container_mc.addEventListener(MouseEvent.CLICK, callFull);
    container_mc.addEventListener(MouseEvent.MOUSE_OVER, onOver);
    container_mc.addEventListener(MouseEvent.MOUSE_OUT, onOut);
    container_mc.buttonMode = true;

    preloaders_mc = new MovieClip();
    preloaders_mc.x = container_mc.x;
    preloaders_mc.y = container_mc.y;
    addChild(preloaders_mc);
}

function callThumbs():void {
    for (var i:Number = 0; i < my_total; i++) {

        var thumb_url = my_images*.@THUMB;

        var thumb_loader = new Loader();
        thumb_loader.load(new URLRequest(thumb_url));
        thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

        thumb_loader.name = i;

        thumb_loader.x = (my_thumb_width+10)*x_counter;
        thumb_loader.y = (my_thumb_height+10)*y_counter;

        if (x_counter+1 < columns) {
            x_counter++;
        } else {
            x_counter = 0;
            y_counter++;
        }
        var preloader_pb:ProgressBar = new ProgressBar();
        preloader_pb.source = thumb_loader.contentLoaderInfo;
        preloader_pb.x = thumb_loader.x;
        preloader_pb.y = thumb_loader.y;
        preloader_pb.width = my_thumb_width;
        preloader_pb.height = my_thumb_height;
        preloaders_mc.addChild(preloader_pb);

        preloader_pb.addEventListener(Event.COMPLETE, donePb);
    }
}

function thumbLoaded(e:Event):void {
    var my_thumb:Loader = Loader(e.target.loader);
    container_mc.addChild(my_thumb);
    my_tweens[Number(my_thumb.name)]=new Tween(my_thumb, "alpha", Strong.easeIn, 0,1,0.5, true);

    my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
}

function callFull(e:MouseEvent):void {
    var full_loader:Loader = new Loader();
    var full_url = my_images[e.target.name].@FULL;
    full_loader.load(new URLRequest(full_url));
    full_loader.contentLoaderInfo.addEventListener(Event.INIT, fullLoaded);

    var full_pb:ProgressBar = new ProgressBar();
    full_pb.source = full_loader.contentLoaderInfo;
    full_pb.x = (stage.stageWidth - full_pb.width)/2;
    full_pb.y = (stage.stageHeight - full_pb.height)/2;
    preloaders_mc.addChild(full_pb);

    full_pb.addEventListener(Event.COMPLETE, donePb);

    container_mc.removeEventListener(MouseEvent.CLICK, callFull);
    container_mc.buttonMode = false;
    container_mc.removeEventListener(MouseEvent.MOUSE_OVER, onOver);
    container_mc.removeEventListener(MouseEvent.MOUSE_OUT, onOut);
    container_mc_tween = new Tween(container_mc, "alpha", Strong.easeIn, 1,0.5,0.5, true);
}
function fullLoaded(e:Event):void {
    full_mc = new MovieClip();
    full_mc.buttonMode = true;
    addChild(full_mc);
    var my_loader:Loader = Loader(e.target.loader);
    full_mc.addChild(my_loader);
    full_tween = new Tween(my_loader, "alpha", Strong.easeIn, 0,1,0.5, true);
    my_loader.x = (stage.stageWidth - my_loader.width)/2;
    my_loader.y = (stage.stageHeight - my_loader.height)/2;
    my_loader.addEventListener(MouseEvent.CLICK,removeFull);

    my_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, fullLoaded);
}
function removeFull(e:MouseEvent):void {
    var my_loader:Loader = Loader (e.currentTarget);
    full_tween = new Tween(my_loader, "alpha", Strong.easeOut, 1,0,0.5, true);
    full_tween.addEventListener(TweenEvent.MOTION_FINISH, tweenFinished);

    container_mc_tween = new Tween(container_mc, "alpha", Strong.easeOut, 0.5,1,0.5, true);
}

function donePb(e:Event):void {
    var my_pb:ProgressBar = ProgressBar(e.target);
    preloaders_mc.removeChild(my_pb);
    my_pb.removeEventListener(Event.COMPLETE, donePb);
}

function tweenFinished(e:TweenEvent):void {
    var my_loader:Loader = Loader (e.target.obj);
    my_loader.unload();
    full_mc.removeChild(my_loader);// This line was removeChid(my_loader), just add full_mc before it.
    removeChild(full_mc);
    full_mc = null;

    container_mc.addEventListener(MouseEvent.CLICK, callFull);
    container_mc.buttonMode = true;
    container_mc.addEventListener(MouseEvent.MOUSE_OVER, onOver);
    container_mc.addEventListener(MouseEvent.MOUSE_OUT, onOut);

    var my_tween:Tween = Tween(e.target);
    my_tween.removeEventListener(TweenEvent.MOTION_FINISH, tweenFinished);
}
function onOver(e:MouseEvent):void {
    var my_thumb:Loader = Loader(e.target);
    my_thumb.alpha = 0.5;
}
function onOut(e:MouseEvent):void {
    var my_thumb:Loader = Loader (e.target);
    my_thumb.alpha = 1;
}

```
