Problem: Loading thumbnail/dynamic images from a text file->have to click twice?

Hi guys!

I just joined Kirupa, and wanted to share my dilemma right away. :azn:

Los problemos:
I have the thumbs loaded from a text file, which are generated by a php file, that reads the folder’s content. This works fine.
So, the problem is that for some reason I have to click the kategory buttons at least twice, to get all the thumbnails appear to the stage in Flash.
Is it a image preloading problem, or is it just my code?
My guess is that the images take longer to load, than the script to execute?
Oh, and in my code I use loadMovie() to load the thumbs.
Is loadClip() a better way?

I’m not a full time coder, but I’ve done actionscript and php on occasion.
So please wisemen, show me the light!! :beer:

Here’s the code I wrote: (Don’t mind the finnish comments. :devious: )

stop();

//includet

import mx.transitions.Tween;
import mx.transitions.easing.*;

//************************ alkuasetelma ********************************

//kategorianapit
_global.portfolioBtnArr = new Array(
esite,
flyerit,
julisteet,
kayntikortti,
logot,
myymala,
outdoor,
pakkaukset,
printti,
www
);

//julistetaan muutama globaalimuuttuja
_global.kategoria;
_global.images;
imageHolder._y = 44;
imageHolder._x = 25;

//nappien toiminnot
for(i=0 ; i < portfolioBtnArr.length ; i++){

portfolioBtnArr*.onPress = function(){
	
	
	//poistetaan luodut thumpit edellisessä kategoriassa
	for(a = 0; a&lt; images.length;a++)
	{
     unloadMovie(_root["picture_holder"+a]);
	}
	
	
	//Puretaan "this" määrite stringiksi
	this_String = String(this);
	//luodaan siitä uusi string objekti
	kategoryString = new String(this_String);
	//määritetään onPress-funktion sisällä i:n arvoksi arvo, joka asetetaan for loopissa picture_holderin perään arvolla i
	kategoria = kategoryString.slice(23);
	

	if( !_root.picture_holder){
		//uusi loadVars
		myFile = new LoadVars(); 
		//ladataan textifile napin mukaan "kategoria määritelty napissa
		myFile.load("txt/" + kategoria + ".txt");
		
		
		
		myFile.onLoad = function()
		{
		   //Pilkotaan tekstifilessa oleva string pilkun kohdalta Arrayksi
		   picArray = myFile.kuvat.split(",");
		   
			//luodaan globaalimuuttuja, joka pitää sisällään ladatun Arrayn
		images = picArray;
		
		TheGallery();
		}
	}

	
}

//Lisätty, koska thumpit ei näkyny välttämättä onpressillä

portfolioBtnArr*.onRelease = function(){	
	//************************ kuvannimien haku txt filesta ********************************			
				
	
	//uusi loadVars
	myFile = new LoadVars(); 
	//ladataan textifile napin mukaan "kategoria määritelty napissa
	myFile.load("txt/" + kategoria + ".txt");
	
	trace("txt/" + kategoria + ".txt");
	
	myFile.onLoad = function()
	{
	   //Pilkotaan tekstifilessa oleva string pilkun kohdalta Arrayksi
	   picArray = myFile.kuvat.split(",");
	   
		//luodaan globaalimuuttuja, joka pitää sisällään ladatun Arrayn
	images = picArray;
	};
	
		
		TheGallery();
		
}

}

function TheGallery():Void{

//************************ Kuvien lataus ja thumppien luonti ********************************


//wrapper mc
var portfolioHolder = _root.createEmptyMovieClip("portfolioHolder_mc", getNextHighestDepth());
portfolioHolder.onEnterFrame = function()
{
	
	


	for (i = 0; i &lt; images.length; i++) 
	{
		
		var pichold = _root.createEmptyMovieClip("picture_holder"+i, i);
		
		
		pichold.createEmptyMovieClip("thumbnail", 5+i);
		
		
		pichold.onEnterFrame = function(){
		this.thumbnail._width = 36;
		this.thumbnail._height = 36;
		
		delete this.onEnterFrame;
		}
		
		
		if(i &gt;= 7 && i &lt; 14)
		{
			pichold._x = 800; //800;
			pichold._y = 315 + (40* (i - 7));
		}
		else if(i &gt;= 14 && i &lt; 21)
		{
			pichold._x = 760; //840;
			pichold._y = 315 + (40*(i - 14));
		
		}
		else if(i &gt;= 21 && i &lt; images.length)
		{
			pichold._x = 720; //840;
			pichold._y = 315 + (40*(i - 21));
		
		}
		else
		{
		pichold._x = 840; //760;
		pichold._y = 315 + (40*i);
		}
		
		
		
		
	//ladataan thumb kuva
		pichold.thumbnail.loadMovie("images/thumb/" + kategoria + "/" +images*);
		
		
		//actionnit thumb painettaessa
		pichold.onPress = function(){
			trace(this);
			
			//kaikki kategosialinkit pois käytöstä
			for(v=0 ; v &lt; portfolioBtnArr.length ; v++){
			 portfolioBtnArr[v].enabled = false;
			}
			
			
			
			//lopetetaan kuvan esiintulo, siltä varalta että toista thumbnailia painetaan kesken animoinnin
			//näin ei tapahtu bugeja ison kuvan sisäänfeidauksessa
			twMC.stop();
			picBg._alpha = 100;
			//imageHolder._alpha = 0;
			
			//Puretaan "this" määrite stringiksi
			test_String = String(this);
			//luodaan siitä uusi string objekti
			position = new String(test_String);
			//määritetään onPress-funktion sisällä i:n arvoksi arvo, joka asetetaan for loopissa picture_holderin perään arvolla i
			N = position.slice(22);
			
						
//kuvan latauksen jälkeen ------------------------------------------------Ollaan vielä onPressin sisällä

				//luodaan movieclip lataaja
				var mcl:MovieClipLoader = new MovieClipLoader(); 
				//luodaan listener
				var listener:Object = {}; 
				//lisätään luotuun mc-lataajaan listener
				mcl.addListener( listener ); 
				//luodaan uusi tyhjä mc
				createEmptyMovieClip( 'placeholder_mc', getNextHighestDepth() ); 
				//ladataan clip/movie -tässä casessa kuva
				mcl.loadClip( "images/jpg/" + kategoria + "/" + images[N] , imageHolder ); 
				
				//latauksen alussa luodaan funktio joka tarkistaa latausstatuksen
				listener.onLoadInit = function( mc:MovieClip ) 
				{ 
				   //ladattu klippi on valmis
				   //trace( 'loaded: '+mc ); 
	
	              
					//kehysten koko
				   tw1 = new Tween( picBg, "_width", Elastic.easeOut, picBg._width, mc._width + 10, 1, true);
				   tw2 = new Tween( picBg, "_height", Elastic.easeOut, picBg._height, mc._height + 10, 1, true);
				   tw3 = new Tween( picBg, "_x", Elastic.easeOut, picBg._x, mc._x - 5, 1, true);
				   tw4 = new Tween( picBg, "_y", Elastic.easeOut, picBg._y, mc._y - 5, 1, true);
				   
				  
				
				  //tw2.onMotionFinished = function(){
				   //kuvan fadeIn
				   twMC = new Tween(mc, "_alpha", Regular.easeOut, 0, 100,1, true);
				   for(v=0 ; v &lt; portfolioBtnArr.length ; v++){
					portfolioBtnArr[v].enabled = true;
				 // }
				   }
				 
				   
				   
				   
				  
				} 
				
				//kun lataus on käynnissä, tämä funktio toimitetaan
				listener.onLoadProgress = function( mc:MovieClip, bytesLoaded, bytesTotal ) 
				{ 
				   //more data has been loaded 
				  // trace( ( ( bytesLoaded/bytesTotal ) * 100 ) +'%' ) 
				  
				   //kuva pois näkyvistä
					mc._alpha = 0;

				} 

			//--
		
		
		}
	
		
		
// Estää flashia yrittämästä ladata olemattomia kuvia ja thumbeja, tarkastamalla images arrayn
 //kumumäärän,  ja lopettamalla loopin jos se saavutetaan ennen muita ehtoja.
			 if(i == images.length -1)
			 {
				 break;
				
				
			}
	}
	delete this.onEnterFrame;
}

//end of the gallery function

}

//**************************************************************************