Flash AS2: galleria immagine richiesta
Ciao a tutti, vi illustro il problema che sto riscontrando. Più che un problema, vorrei rendere il mio progetto più "pulito". Quello che sto andando a creare è un sito web, suddiviso in due scene.
La prima ha il contenuto de sito, mentre la seconda ha un layout base per la gallery che si carica tramite file .xml.
Qual è il problema?
Nel sito vorrei creare una pagina -> Fotogallery, nella quale ci sono i diversi album. Cliccando sul nome dell'album, dovrebbe aprire la scena "Gallery" e caricare il file .xml che chiama le diverse foto in una cartella. Il tutto è attualmente perfettamente funzionante. Il problema è che per ogni diverso album, mi sto creando una scena nuova.
Quindi se per esempio ho l'album:
-Capodanno
-Vacanze estive
-Vacanze invernali
-etc
Vengo a trovarmi con la scena principale + 3 (che sono le gallery). Ora, dato che si potrebbe fare un po di pulizia (perchè se continuo così va a finire che mi trovo con 20 scene), vorrei poter fare con l'AS2, un modo in cui l'utente quando clicca sul nome di un album, Flash salva su una variabile il file .xml che dovrebbe caricare per visualizzare quel album e che carichi sempre la stessa scena Gallery.
A mio parere ci sarebbe da creare una variabile globale, visibile all'intero file, che ogni qual volta si clicchi sull'immagine si inizializzi con il file .xml nuovo che linka le foto. Il problema è che non conosco molto l'AS per tradurre l'italiano in linguaggio di programmazione.
Sperando di essere stato chiaro nella spiegazione del problema, vi posto lo script che controlla la gallery:
//Questo blocco secondo me da qualche parte dovrebbe essere reso globale ma non ho idea di come si possa fare
var x:XML = new XML();
x.ignoreWhite = true;
var urls: Array = new Array();
var captions: Array = new Array();
var indicizza:Number;
x.onLoad = function(success){
var photos:Array = this.firstChild.childNodes;
for(i=0; i<photos.length;i++){
urls.push(photos[i].attributes.url);
captions.push(photos[i].attributes.caption);
}
holder.loadMovie(urls[0]);
caption.text = captions [0];
indicizza = 0;
}
//carica file XML con url delle immagini
x.load("FILE.xml");
indietro.onRelease = function(){
if(indicizza > 0){
indicizza--;
holder.loadMovie(urls[indicizza]);
caption.text = captions [indicizza];
}
}
avanti.onRelease = function(){
if(indicizza < urls.length-1){
indicizza++;
holder.loadMovie(urls[indicizza]);
caption.text = captions [indicizza];
}
}
Ciao a tutti, vi illustro il problema che sto riscontrando. Più che un problema, vorrei rendere il mio progetto più "pulito". Quello che sto andando a creare è un sito web, suddiviso in due scene.
La prima ha il contenuto de sito, mentre la seconda ha un layout base per la gallery che si carica tramite file .xml.
Qual è il problema?
Nel sito vorrei creare una pagina -> Fotogallery, nella quale ci sono i diversi album. Cliccando sul nome dell'album, dovrebbe aprire la scena "Gallery" e caricare il file .xml che chiama le diverse foto in una cartella. Il tutto è attualmente perfettamente funzionante. Il problema è che per ogni diverso album, mi sto creando una scena nuova.
Quindi se per esempio ho l'album:
-Capodanno
-Vacanze estive
-Vacanze invernali
-etc
Vengo a trovarmi con la scena principale + 3 (che sono le gallery). Ora, dato che si potrebbe fare un po di pulizia (perchè se continuo così va a finire che mi trovo con 20 scene), vorrei poter fare con l'AS2, un modo in cui l'utente quando clicca sul nome di un album, Flash salva su una variabile il file .xml che dovrebbe caricare per visualizzare quel album e che carichi sempre la stessa scena Gallery.
A mio parere ci sarebbe da creare una variabile globale, visibile all'intero file, che ogni qual volta si clicchi sull'immagine si inizializzi con il file .xml nuovo che linka le foto. Il problema è che non conosco molto l'AS per tradurre l'italiano in linguaggio di programmazione.
Sperando di essere stato chiaro nella spiegazione del problema, vi posto lo script che controlla la gallery:
[RED]
//Questo blocco secondo me da qualche parte dovrebbe essere reso globale ma non ho idea di come si possa fare
var x:XML = new XML();
x.ignoreWhite = true;
var urls: Array = new Array();
var captions: Array = new Array();
var indicizza:Number;
x.onLoad = function(success){
var photos:Array = this.firstChild.childNodes;
for(i=0; i<photos.length;i++){
urls.push(photos[i].attributes.url);
captions.push(photos[i].attributes.caption);
}
holder.loadMovie(urls[0]);
caption.text = captions [0];
indicizza = 0;
}
//carica file XML con url delle immagini
x.load("FILE.xml");
indietro.onRelease = function(){
if(indicizza > 0){
indicizza--;
holder.loadMovie(urls[indicizza]);
caption.text = captions [indicizza];
}
}
avanti.onRelease = function(){
if(indicizza < urls.length-1){
indicizza++;
holder.loadMovie(urls[indicizza]);
caption.text = captions [indicizza];
}
}
[/RED]