Ciau a tutti,
il mio problema e' il seguente:
di seguito posto il codice per una gallery orizzontale semplice, ho due array "imageURLs" e "imageURLs2", uno con le thumb e uno con le immagini complete.
Quando arrivo alla funzione "imageLoaded" nella quale creo l'immagine, non riesco pero' a portarmi appresso anche il secondo array con la relativa immagine completa e di conseguenza non riesco ad associralo all'evento del click della thumb "clickImmagine".
Il codice l'ho trovato in rete, sto cercando di riadattarlo ma non ci riesco essendo un po niubbo di AS3.

Grazie per eventuali suggerimenti
juhzam

/************************************************** ***********/
//Import TweenLite
import gs.*;
import gs.easing.*;

var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();

var pathGallery_thumb:String="/gallery/thumb/";
var pathGallery_full:String="/gallery/full/";
var strisciaGallery:MovieClip = new MovieClip();

//Larghezza e altezza delle immagini
var imageWidth:Number=175;
var imageHeight:Number=77;
//Numero di righe della gallery
var rows:Number = 1;


//Spazio tra le immagini
var padding:Number=1;
//Margine da sinistra
var left:Number=0;
//Velocità scorrimento
var speed:Number = 1;
//Crea un array per il path delel thumb
var imageURLs = new Array();
var imageURLs2 = new Array();
//Array che conterra' i contenitori delle immagini
var imageHolders = new Array();
//Contatore di immagini caricate
var loadedImages:Number=0;


//Funzione di creazione del contenitore globale della slide
function mainHolder() {
//Contenitore generale
addChild(strisciaGallery);
strisciaGallery.x=0;
strisciaGallery.y=0;

//freccia back
var frecciaBack:frecciaIndietro = new frecciaIndietro();
addChild(frecciaBack);
frecciaBack.x=0;
frecciaBack.y=stage.stageHeight/2;
function scorriSX(e:MouseEvent) {
TweenLite.to(strisciaGallery, speed, {x: (strisciaGallery.x +(imageWidth*4)), ease:Cubic.easeOut});
}
frecciaBack.addEventListener(MouseEvent.CLICK, scorriSX);

//freccia Avanti
var frecciaAhead:frecciaAvanti = new frecciaAvanti();
addChild(frecciaAhead);
frecciaAhead.x=stage.stageWidth-frecciaAhead.width;
frecciaAhead.y=stage.stageHeight/2;
function scorriDX(e:MouseEvent) {
TweenLite.to(strisciaGallery, speed, {x: (strisciaGallery.x -(imageWidth*4)), ease:Cubic.easeOut});
}
frecciaAhead.addEventListener(MouseEvent.CLICK, scorriDX);
}
//Lancio la funzione che imposta il contenitore principale
mainHolder();


//leggo il file XML lo parso e inserisco nell'array il nome delle immagini, sia thumb che full
xmlLoader.load(new URLRequest("gallery.xml"));
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
function LoadXML(e:Event):void {
xmlData=new XML(e.target.data);
var xmlList:XMLList=xmlData.foto.attribute("thumb");
var xmlList_full:XMLList=xmlData.foto.attribute("full" );
for (var i:Number=0; i<xmlList.length(); i++) {
imageURLs.push(pathGallery_thumb+xmlList[i]);
imageURLs2.push(pathGallery_thumb+xmlList_full[i]);
}
start_gallery(xmlList.length());
}

//funzione creazione gallery
function start_gallery(n:Number) {
loadImage();
var columns:Number=n;
for (var i = 0; i < rows; i++) {
for (var j = 0; j < columns; j++) {
//Creo un contenitore
var imageHolder:MovieClip = new MovieClip();
//Lo posiziono sullo stage in base ai valori di configurazione
imageHolder.x=left+j*imageWidth*padding;
imageHolder.y=i*imageHeight*padding;
//Aggiungo un oggetto preloader(creato a mano) al centro del contenitore appena creato
var preloader:StarPreloader = new StarPreloader();
preloader.x=imageWidth/2;
preloader.y=imageHeight/2;
imageHolder.addChild(preloader);
//Abbiamo bisogno di sapere l'appartenenza del preload al contenitore,
//quindi impostiamo il preloader come proprieta del contenitore
imageHolder.preloader=preloader;
//Aggiungiamo il contenitore dentro la striscia generale sullo stage
strisciaGallery.addChild(imageHolder);
//Inseriamo l'oggetto contenitore in un array
imageHolders.push(imageHolder);
}
}
//Questa funzione carica la prima immagine del nostro xml
function loadImage():void {
//Creo un loader
var loader:Loader = new Loader();
//recupero gli URLs precedentemente inseriti nell'array
var urlRequest:URLRequest=new URLRequest(imageURLs[0]);
//Carico la prima immagine
loader.load(urlRequest);
//Ascolto quando l'evento e' completo
loader.contentLoaderInfo.addEventListener(Event.CO MPLETE, imageLoaded);
//Rimuovo l'immagine dall'array generale
imageURLs.splice(0,1);
}
//Funzione richiamata a caricamento avvenuto
function imageLoaded(e:Event):void {
//Salvo l'immagine in una variabile locale di tipo bitmap
var image:Bitmap = (Bitmap)(e.target.content);
//Salvo l'immagine in un contenitore
var holder:MovieClip=imageHolders[loadedImages];
holder.buttonMode = true;
holder.mouseChildren = false;
function clickImmagine(e:MouseEvent) {
trace("Apertura immagine full")
}
holder.addEventListener(MouseEvent.CLICK, clickImmagine)
//Aggiungo l'immagine al contenitore creato
holder.addChild(image);
//Faccio apparire il contenitore con un alpha
TweenLite.from(holder, 3, {alpha: 0});
TweenLite.to(holder.preloader, 1, {scaleX: 2, scaleY: 2, alpha: 1,
onComplete:tweenFinished, onCompleteParams:[holder.preloader, holder]});
//Incremento
loadedImages++;
//Controllo l'array con le foto cosi da continuare il caricamento
if (imageURLs.length>0) {
loadImage();
}
}
//This function is called when a preloader is finished tweening
function tweenFinished(preloader:MovieClip, holder:MovieClip):void {
//Remove the preloader from the holder
holder.removeChild(preloader);
}
}