# Fullscreen photogallery as3.0 Works only if the browers is refreshed?

**URL:** https://forum.kirupa.com/t/fullscreen-photogallery-as3-0-works-only-if-the-browers-is-refreshed/289174
**Category:** Uncategorized
**Created:** [May 27, 2009, 7:12am UTC](https://forum.kirupa.com/t/fullscreen-photogallery-as3-0-works-only-if-the-browers-is-refreshed/289174 "2009-05-27T07:12:21Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![slopsterfx](https://avatars.discourse-cdn.com/v4/letter/s/779978/32.png) [@slopsterfx](https://forum.kirupa.com/u/slopsterfx)
#### Post date: [May 27, 2009, 7:12am UTC](https://forum.kirupa.com/t/fullscreen-photogallery-as3-0-works-only-if-the-browers-is-refreshed/289174/1 "2009-05-27T07:12:21Z")

</div>

So I have this Fullscreen Flash photography website. The home page has a time controlled image loading, and and dynamically resize images based on browser size, the home page is a page that uses xml to dynamically load images from a xml file. When the home page is played locally thru a webbrowser works like a charm when loaded on the internet. The images load funny and the timming gets messed with and the loader bar flckers. but if u hit refresh in the browerser everything works fine. Does anyone have anyideas. the swf is loaded thru a swfobject.

Here is the site location, all the other buttons are deactivated

[http://johnnelson.org/redpocket/index.html](http://johnnelson.org/redpocket/index.html)

Here is the code that i have used

import gs.TweenMax;  
import gs.easing.\*;  
stage.align = StageAlign.TOP\_LEFT;  
stage.scaleMode = StageScaleMode.NO\_SCALE;

var \_xml:XML;  
var urlloader:URLLoader;  
var \_xml\_length:int;  
var \_image\_ar:Array = new Array();  
var cur\_index:int = 0;  
var pressed:Boolean;  
var mc1:Sprite;  
var mc2:Sprite;  
var curMovie:Sprite;  
var masc1:Sprite;  
var masca2:Sprite;  
var loader\_sp:Sprite;  
var only\_once\_pressed:Boolean = true;  
var swap:int = 1;  
var is\_tweening:Boolean = false;  
var width1:Number;  
var width2:Number;  
var height1:Number;  
var height2:Number;  
init();

//------------INIT--------------//  
function init():void {  
loadPortfolio();  
}

// loadBigImages(stage.getChildAt(0).cur\_index);  
var myTimer:Timer = new Timer( 5000 , 0 );  
myTimer.addEventListener(TimerEvent.TIMER, timerHandler);  
myTimer.start();

function timerHandler( e:TimerEvent ):void{  
var c = cur\_index + 1;  
if( c \> (\_xml\_length-1) ) c = 0;  
loadBigImages( c );  
}

//xml code  
function loadPortfolio():void {  
urlloader = new URLLoader();  
urlloader.dataFormat = URLLoaderDataFormat.TEXT;  
urlloader.load(new URLRequest(“load/load\_home.xml”));  
urlloader.addEventListener(Event.COMPLETE,portfolioLoaderOnComplete);  
urlloader.addEventListener(IOErrorEvent.IO\_ERROR,portfolioLoaderOnIoError);  
function portfolioLoaderOnComplete(e:Event):void {  
\_xml = XML(e.target.data);  
\_xml\_length = \_xml.\*.length();  
populateArrays();  
initBigMovies();  
}  
function portfolioLoaderOnIoError(e:IOErrorEvent):void {  
urlloader = null;  
trace(“SOME ERROR PLESE REPTORT THIS”);  
}  
}

//POPULATE ARRAYS---------------------------------------------------------------//  
function populateArrays():void {  
for (var i:int = 0; i\<\_xml\_length; i++) {  
\_image\_ar\* = \_xml.image\*;  
trace(\_image\_ar\*);  
}  
}

function initBigMovies():void {  
if (only\_once\_pressed) {  
mc1 = new Sprite();  
mc2 = new Sprite();  
mc1.name = “mc1”;  
mc2.name = “mc2”;  
masc1 = new Sprite();  
masc2 = new Sprite();  
loader\_sp = new Sprite();  
masc1.graphics.beginFill(0x00FF00,1);  
masc1.graphics.drawRect(0,0,100,100);  
masc1.graphics.endFill();  
masc2.graphics.beginFill(0xFFFF00,1);  
masc2.graphics.drawRect(0,0,100,100);  
masc2.graphics.endFill();  
loader\_sp.graphics.beginFill(0xED192D,1);  
loader\_sp.graphics.drawRect(0,0,1,3);  
loader\_sp.graphics.endFill();  
stage.addChild(mc1);  
stage.addChild(mc2);  
stage.addChild(masc1);  
stage.addChild(masc2);  
stage.addChild(loader\_sp);  
loader\_sp.visible = false;  
mc1.mask = masc1;  
mc2.mask = masc2;  
loadBigImages(cur\_index);  
setPropForImagesAndMasks()  
// control\_box.x = stage.stageWidth - control\_box.width;  
control\_box.x = 0;  
control\_box.y = stage.stageHeight;  
control\_box.updateText();  
stage.addChild(control\_box);  
loader\_sp.y = stage.stageHeight - loader\_sp.height;  
//setPropForImagesAndMasks();  
}  
}  
function loadBigImages(id:int):void {  
cur\_index = id;  
if (swap == 1) {  
trace(“LOADING IN MOVIE 1”)  
loadBigImage(\_image\_ar[id],mc1);  
curMovie = mc1;  
swap = 2;  
} else {  
trace(“LOADING IN MOVIE 2”)  
loadBigImage(\_image\_ar[id],mc2);  
curMovie = mc2;  
swap = 1;  
}  
only\_once\_pressed = false;  
}  
//--------------------------------MASK AND IMAGES PROPORTIONS-------------------//  
function setPropForImagesAndMasks():void {  
stage.addEventListener(Event.RESIZE,resizeImages);  
masc1.height = masc2.height = stage.stageHeight;  
}  
function resizeImages(e:Event):void {  
calc(mc1,width1,height1);  
calc(mc2,width2,height2);  
masc1.height = masc2.height = stage.stageHeight;  
TweenMax.to(masc1,.8,{width:stage.stageWidth,delay:.1,ease:Quart.easeOut});  
TweenMax.to(masc2,.8,{width:stage.stageWidth,delay:.1,ease:Quart.easeOut});  
[//TweenMax.to](https://TweenMax.to)(control\_box,.8,{x:stage.stageWidth - control\_box.width,y:stage.stageHeight,ease:Quart.easeOut});  
TweenMax.to(control\_box,.8,{x:0,y:stage.stageHeight,ease:Quart.easeOut});

```
// Move Loader to bottom
loader_sp.y = stage.stageHeight - loader_sp.height;

```

}

//-------------------------------LOADING BIG IMAGESS----------------------------//  
function loadBigImage(path:String,holder:\*):void {  
trace(path);  
trace(holder);  
loader\_sp.visible = true;  
stage.mouseChildren = false;  
loader\_sp.width = 1;  
stage.setChildIndex(loader\_sp,stage.numChildren -1);  
var loader:Loader = new Loader();  
loader.load(new URLRequest(path));  
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,handleComplete);  
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,handleProgress);  
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO\_ERROR,handleIoError);  
function handleProgress(e:ProgressEvent):void {  
var percent:Number = e.bytesLoaded/e.bytesTotal;  
loader\_sp.width = percent \* stage.stageWidth;  
}  
function handleIoError(e:IOErrorEvent):void {  
trace(“ERROR LOADING IMAGE”);  
loader\_sp.visible = false;  
stage.mouseChildren = true;  
}  
function handleComplete(e:Event) {  
var bitmap:Bitmap = new Bitmap();  
bitmap = loader.content  
bitmap.smoothing = true;  
holder.addChild(bitmap);  
if (curMovie == mc1) {  
width1 = bitmap.width;  
height1 = bitmap.height;  
masc1.width = 1;  
stage.setChildIndex(mc1,stage.numChildren -1);  
stage.setChildIndex(masc1,stage.numChildren -1);  
stage.setChildIndex(control\_box,stage.numChildren -1);  
calc(mc1,width1,height1);  
trace(“FINISH LOADING IN MOVIE 1”)  
TweenMax.to(masc1,.8,{width:stage.stageWidth,ease:Quart.easeOut,onComplete:makeRootInvisible,onCompleteParams :[masc1]});  
} else {  
width2 = bitmap.width;  
height2 = bitmap.height;  
masc2.width = 1;  
stage.setChildIndex(mc2,stage.numChildren -1);  
stage.setChildIndex(masc2,stage.numChildren -1);  
stage.setChildIndex(control\_box,stage.numChildren -1);  
calc(mc2,width2,height2);  
trace(“FINISH LOADING IN MOVIE 2”)  
TweenMax.to(masc2,.8,{width:stage.stageWidth,ease:Quart.easeOut,onComplete:makeRootInvisible,onCompleteParams :[masc2]});  
}  
loader\_sp.width = stage.stageWidth;  
stage.setChildIndex(loader\_sp,stage.numChildren -1);  
TweenMax.to(loader\_sp,.8,{width:1,ease:Quart.easeIn});  
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO\_ERROR,handleIoError);  
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,handleProgress);  
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,handleComplete);  
loader = null;  
}  
}

function makeRootInvisible(arg1:Sprite):void {  
if(arg1 == masc1){  
try{  
mc2.getChildAt(0).bitmapData.dispose();  
mc2.removeChildAt(0);  
}catch(e:_){  
trace(“THERE IS NO IMAGE IN THERE MC 1”)  
}  
}else{  
try{  
mc1.getChildAt(0).bitmapData.dispose();  
mc1.removeChildAt(0);  
}catch(e:_){  
trace(“THERE IS NO IMAGE IN THERE”)  
}  
}  
loader\_sp.visible = false;  
stage.mouseChildren = true;  
}  
//-------------IMAGE RATIO----------------------------//  
function calc(mc,W,H) {  
var obj1 = new Object();  
var sW = stage.stageWidth;  
var sH = stage.stageHeight;  
var \_loc2:Number = obj1.sCx = sW/W;  
var sCy = obj1.sCy = sH/H;  
if (\_loc2\<sCy) {  
\_loc2 = sCy;  
}  
obj1.wD = \_loc2 \* W;  
obj1.hT = \_loc2 \* H;  
obj1.X = obj1.Y = 0;  
if (obj1.wD\>sW) {  
obj1.X = -Math.round((obj1.wD-sW)/2);  
}  
if (obj1.hT\>sH) {  
obj1.Y = -Math.round((obj1.hT-sH)/2);  
}  
mc.x = sW/2 - obj1.wD/2 ;  
mc.y = sH/2 - obj1.hT/2 ;  
mc.scaleX = obj1.wD/W_1;  
mc.scaleY = obj1.hT/H_1;  
}  
/_function enableSite():void{  
try{  
mc2.getChildAt(0).bitmapData.dispose();  
mc1.getChildAt(0).bitmapData.dispose();  
}catch(e:_){  
trace(“ONE BITMAP DISPOSED”)  
}  
stage.removeChild(control\_box);  
stage.removeChild(mc1);  
stage.removeChild(mc2);  
stage.removeChild(masc1);  
stage.removeChild(masc2);  
stage.removeChild(loader\_sp);  
mc1 = null;  
mc2 = null;  
masc1 = null;  
masc2 = null;  
loader\_sp = null;  
stage.mouseChildren = true;  
root.main\_mc.clients\_mc.mouseEnabled = true;  
}\*/

Please help me i am at a lost
