Salve a tutti
ho un problemino che non riesco a risolvere e ci sto provando da qualche giorno!
Ho un Db access da cui leggo i nomi delle immagini inserite per un prodotto X
passo la stringa a flash
dentro al filmato ho un MC contenitore (cont) e dentro a cont un MC che duplico a seconda del numero di immagini per il prodotto
il problema è che se ci sono 20 immagini da leggere il filmato ci mette un po' a caricarsi perchè ogni immagine è di circa 500k e vorrei mettere un preload per ogni immagine e qui mi fermo.
ecco il codice all'interno del MC cont
flash cs3 prof - as 2
Codice PHP://recupero l'id dell'album immagini
idAlbum = _root.idAlbum;
//leggo la stringa passata dal file asp e creo un array con tutte le variabili
var miaRoot:MovieClip = this;
var targetLoadVars:LoadVars = new LoadVars();
targetLoadVars.onLoad = function(success:Boolean) {
if (success) {
trace("caricato");
var stringaValori:String = this.id;
var stringaTesti:String = this.nomeImmagine;
var arrayValori:Array = stringaValori.split("|");
var arrayTesto:Array = stringaTesti.split("|");
var a:Number = 1;
var initialX:Number = 0;
var initialY:Number = 0;
for (var i:Number = 0; i<arrayValori.length; i++) {
var valore:Number = arrayValori[i];
var nomeImmagine:String = arrayTesto[i];
var newNameNew = "contenitore_mc"+a;
//duplico il mc
duplicateMovieClip("contenitore_mc", newNameNew, a);
immaginePath = "public/images/large/"+nomeImmagine+"";
//sistemo gli mc duplicati mettendoli in fila orizzontale
_root.cont[newNameNew]._y = (initialY);
_root.cont[newNameNew]._x = (initialX);
initialX = initialX + 666;
initialY = initialY;
//all'interno del mc duplicato creo un IELoader che andrà ad accogliere le immagini
_root.cont[newNameNew].immagine.createClassObject(IELoader, "my_loader", 1);
_root.cont[newNameNew].immagine.my_loader.setSize(666,400);
_root.cont[newNameNew].immagine.my_loader.load(immaginePath);
var z:Number = a;
a++;
}
} else {
trace("errore nel caricamento");
operazione.text = "errore nell'inserimento dei dati";
}
};
targetLoadVars.load("immaginiReadDB.asp?idAlbum="+idAlbum+"");
lo script funziona ma rimane il fatto che senza un preloader è un po' una vaccata!
domanda: il preload lo devo mettere dentro al ciclo for?
fatemi sapere
grazie infinite in anticipo
frank

Rispondi quotando