ciao a tutti,
vi scrivo perchè ho un problema con un componente duplicato.
sto facendo una galleria di immagini classica
(con thumbnail e immagine grande).
ho creato un mc "thumb" con due frame
per gestire i due formati di miniature che mi servono (50x50 e 93x40).
dentro al mc "thumb" ho posizionato il componente "loader" (fatto da
me)
che occupa i due frame e che contiene solo la funzione "loadContent()"
che richiamo ogni volta che mi serve caricare un file esterno.
per creare le thumbnails uso la funzione "createThumbs()"
che si trova nel mc "thumbs" dentro al quale c'è l'mc "thumb" (quelloda duplicare).
il ciclo for per la duplicazione funziona bene, non mi da problemi.
però non riesco a richiamare la funzione "loadContent()"
degli oggetti duplicati ("this[thumbN]").
ho incollato quì di seguito il codice delle due funzioni interessate.
la struttura dei mc è:
[MC] thumbs
-- [FUNCTION] createThumbs()
---- [MC] thumb
------ [MC] loader
-------- [FUNCTION] loadContent()
---- [CLONE MC] t01
-------- [MC] loader
-------- [FUNCTION] loadContent()
---- [CLONE MC] t02
------ [MC] loader
-------- [FUNCTION] loadContent()
---- [CLONE MC] ...
------ [MC] loader
-------- [FUNCTION] loadContent()
c'è qualcuno che può darmi una mano?
grazie infinite
//////////////////////////////////////// createThumbs() ////////////////////////////////////////
thumb._visible=false;
function createThumbs(thumbTot,thumbformat) {
// "thumbTot" (numero totale di thumbnail da generare)
// "thumbformat" (stringa "portrait" o "wedding"
// che serve per spaziare le thumbnail duplicate
if (thumbTot) {
thumb._visible=true;
for (var i=1; i<=thumbTot; i++) {
(i<10) ? thumbN="t0"+i : thumbN="t"+i;
thumb.duplicateMovieClip(thumbN,this.getNextHighes tDepth());
this[thumbN]._alpha=75;
this[thumbN].gotoAndStop(thumbformat);
if (thumbformat=="portrait") { this[thumbN]._x=(i-1)*50; }
else if (thumbformat=="wedding") { this[thumbN]._x=(i-1)*93; }
else { this[thumbN]._x=(i-1)*50; }
this[thumbN].loader.loadContent(_root["cont"_root.activity.link][_root.activity.item][1]+"/"+thumbN+".jpg");
}
thumb._visible=false;
}
}
//////////////////////////////////////// loadContent() ////////////////////////////////////////
function loadContent(url) {
if (!container) {
this.createEmptyMovieClip("container",this.getNext HighestDepth());
container.swapDepths(bar);
}
var listener:Object = new Object();
listener.onLoadProgress = function(container:MovieClip,bytesLoaded:Number, bytesTotal:Number) {
bar._xscale = Math.round(bytesLoaded/bytesTotal*100);
}
listener.onLoadInit = function(container:MovieClip) {
loader.removeListener(listener);
}
listener.onLoadError = function(container:MovieClip,errorCode:String, httpStatus:Number) {
trace(errorCode+" ("+httpStatus+")");
}
listener.onLoadComplete = function(container:MovieClip) {
container.play(); bar._xscale=0;
}
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);
loader.loadClip(url, container);
}


Rispondi quotando