Io ti propongo invece una soluzione di questo tipo...
Crei un file .fla che chiami, ad esempio, "file1". crei una cartella (nella stessa dir. del .fla) che chiami "foto". Infine crei un file TXT che chiami "totfoto.txt".
Inizia con la cosa più semplice, ovvero il file "totfoto.txt", e edita al suo interno questo codice:
(Il nuemro 5 rappresenta il numero di foto che dovranno essere visualizzate)
totalefoto=5
Senza aggiungere nient'altro!
Poi inserisci le foto dentro la cartella "foto".
Apri adesso il file .fla "file1", per editarlo. Il file fla dovrà contenere 1 scena con 3 Layers.
Il Layer più in alto lo chiami "effettoAlpha".
Il Layer centrale lo chiami "as loadlMG".
Il Layer più in basso invece "puls".
Al Layer "effettoAlpha" assegni questo codice:
//*******************************
function alfaPiu() {
if (mc._alpha<99) {
mc._alpha += 10;
} else {
mc._alpha = 99;
clearInterval(b);
(vediFoto == totFoto) ? avanti.enabled = false : avanti.enabled=true;
(vediFoto == 1) ? indietro.enabled = false : indietro.enabled = true;
}
}
function alfaMeno() {
avanti.enabled = false;
indietro.enabled = false;
if (mc._alpha>0) {
mc._alpha -= 10;
} else {
clearInterval(c);
caricaFoto();
}
}
//*******************************
Al Layer "as loadlMG" assegni questo codice:
//*******************************
// Dimensione dello Stage
StageLarg = 550;
StageAlt = 400;
function caricaFoto() {
imgEsterne.loadMovie("foto/foto_"+vediFoto+".jpg");
a = setInterval(preloadFOTO, 50);
perc = 0;
}
function preloadFOTO() {
car = imgEsterne.getBytesLoaded();
tot = imgEsterne.getBytesTotal();
perc = Math.round((car*100)/tot);
loading.text = "Loading... " + perc + "%";
if (car>1024) {
if (car == tot && _root.imgEsterne._width > 0) {
imgEsterne._x = (StageLarg-imgEsterne._width)/2;
imgEsterne._y = (StageAlt-imgEsterne._height)/2;
loading.text = "";
clearInterval(a);
b = setInterval(alfaPiu,50);
}
}
}
this.createEmptyMovieClip("imgEsterne", 1);
imgEsterne._alpha = 0;
mc = eval(imgEsterne);
dati = new LoadVars();
dati.load("totfoto.txt");
dati.onLoad = function() {
totFoto = this.totalefoto;
vediFoto = 1;
caricaFoto();
}
//********************************
Al Layer "puls" assegni questo:
//********************************
avanti.testoPuls.text = "avanti";
indietro.testoPuls.text = "indietro";
pulsanti = new Array("avanti","indietro");
for(i=0;i<2;i++){
puls = eval(pulsanti[i]);
puls.onRollOver = function(){
this.testoPuls.textColor = 0x666666;
}
puls.onRollOut = puls.onReleaseOutside = function(){
this.testoPuls.textColor = 0x000000;
}
puls.onRelease = function(){
(this._name=="avanti") ? vediFoto++ : vediFoto--;
this.testoPuls.textColor = 0x000000;
c = setInterval(alfaMeno,50);
}
}
//*******************************
Nel Layer "puls" crea un campo di testo dinamico con queste caratteristiche: dim. 58x21 a singola riga.
Trasformalo ora in un clip filmato (premi F8) e assegnagli nome istanza: "testoPuls".
Dalla libreria (F11) trascina sullo stage, nello stesso Layer un'altra istanza del clip appena creato e posizionali uno a sx e l'altro a dx (saranno i pulsanti che faranno scorrere le foto).
Nel Layer "as loadlMG" crea un altro campo di testo dinamico con queste caratteristiche: dim.191x181 a singola riga.
Assegnagli nome istanza "loading".
Se hai fatto tutto correttamente le tue foto verranno caricate esternamente al file fla (non appesantendolo) e visualizzate con un effetto alfa.
Che ne dici?
RAY