ciao grazie per avermi risposto . ho risolto grazie a te con il loading esterno . era proprio quello che mi serviva. adesso ho un solo ed ultimo problema. quando appare la barra di caricamento non carica da sinistra verso destra come dovrebbe avvenire ma dal centro si allarga da entrambi i lati. che devo modificare per farla caricare normalmente.

cosa devo modificare in questo codice?

//funzione che carica la foto dopo aver effettuato il loading
MovieClip.prototype.loadjpg = function(picName, holderName, imgWidth, imgHeight) {
var h = holderName == undefined ? "holder" : holderName;
//creo il mc per caricare l'immagine
this.createEmptyMovieClip(h, 1);
this[h].loadMovie(picName);
this[h]._visible = false;
//creo il mc con la barra di preload
var loadbar_mc = this.attachMovie("loader_mc", "loader_mc", 2);
//effettuo il loading
loadbar_mc._x = ((imgWidth/2)-(loadbar_mc._width/2));
loadbar_mc._y = ((imgHeight/2)-(loadbar_mc._height/2));
loadbar_mc.loader_barra_mc._xscale = 0;
var id = setInterval(function (mc) {
var bLoaded = mc[h].getBytesLoaded();
var bTotal = mc[h].getBytesTotal();
var percentDone = (bLoaded/bTotal)*100;
//Se l'immagine è stata caricata
if (bLoaded>1 && (bLoaded>(bTotal-10)) && mc[h]._width>0) {
trace("Elimino la barra di preload");
// Elimino la barra di preload
removeMovieClip(loadbar_mc);
mc._alpha = 99;
//rendo visibile l'immagine
mc[h]._visible = true;
clearInterval(id);
//altrimenti il loading continua
} else {
trace("loading");
loadbar_mc.perc = int(bLoaded/bTotal*100)+"%";
loadbar_mc.loader_barra_mc._xscale = percentDone;
mc[h]._visible = false;
}
}, 80, this);
};//creo il mc che conterrà la foto
this.createEmptyMovieClip("foto_mc", 0);
//lo posiziono
foto_mc._x = 20;
foto_mc._y = 150;
//assegno la foto alla variabile
foto = "img/foto02.jpg";
//richiamo la funzione che carica l'immagine
foto_mc.loadjpg(foto, "foto_caricata_mc", 380, 430);
cazzo.onPress = function() {
foto_mc.loadjpg(foto, "foto_caricata_mc", 380, 430);
}

ciao e grazie