grazie Stan ....allora ho estratto dal progetto solo la parte della barra delle thumbs cosi' e' piu' chiaro......
ho utilizzato MovieClipLoader e il codice e' questo:
ho commentato il vecchio metodo, con il nuovo, mi sballa anche il riflesso che do alle img eppure il codice e' lo stesso:
var mir:Mirror = new Mirror(target, 0, 50, 50);
a parte il riflesso no riesco a capire come prendere salvarre la pos e dist dell'img precedente....
codice:
import mx.transitions.*;
import mx.transitions.easing.*;
//locale
var xmlUrl:String = "immagini.xml";
//online
//var xmlUrl:String = "immagini.xml?rnd=" + random(999999);
var parseArray:Array = new Array();
var parseXML:XML = new XML();
parseXML.ignoreWhite = true;
parseXML.onLoad = function(success:Boolean):Void {
if (this.loaded) {
var temp:Array = this.firstChild.childNodes;
for (var i = 0; i<temp.length; i++) {
parseArray.push({image:temp[i].childNodes[0].firstChild.toString(), caption:temp[i].childNodes[1].firstChild.toString()});
}
slideShow(parseArray);
}
};
parseXML.load(xmlUrl);
var slideShow:Function = function (array:Array) {
var lar = 90;
var alt = 10;
fattore = 50;// fattore di movimento
// crea la prima barra contenitore
var bar1 = this.createEmptyMovieClip("barra1", 1);
bar1._x = Stage.width/2+135;// posiziona la barra al centro dello stage
barra1._y = 10;
var barw = array.length*lar;
var x = -(barw)/2;// determina la larghezza delle barre
//trova la posizione del primo movieclip
for (var i = 0; i<array.length; i++) {
var mc = bar1.createEmptyMovieClip("img"+i, i);
// ---------------------
mc.createEmptyMovieClip("pic", 1);
//mc.pic.loadMovie("portfolio/th/"+array[i].image);
//trace("sto caricando thumbs BARRA_1 "+array[i].image);
mc.pic._alpha = 60;
vecchio metodo
/*mc.onEnterFrame = function() {
car = this.pic.getBytesLoaded();
tot = this.pic.getBytesTotal();
if (car == tot && car>1024) {
trace("foto thumbs caricata");
AdattaImg(this.pic, 100, 70);
trace("larghezza = "+ i);
var mir:Mirror = new Mirror(this, 0, 50, 50);
delete this.onEnterFrame;
}
};// fine enterFrame
*/
var mcLoad:MovieClipLoader = new MovieClipLoader();
var mcList:Object = new Object();
mcList.onLoadInit = function(target) {
trace("foto thumbs caricata :"+array[i].image);
AdattaImg(target, 100, 50);
target._alpha=60;
var mir:Mirror = new Mirror(target, 0, 50, 50);
trace("larg= "+ target._width+" x: "+target._x);
};
mcLoad.addListener(mcList);
mcLoad.loadClip("portfolio/th/"+array[i].image+"", mc.pic);
mc._x = x+(lar*i);
}// fine FOR
// imposta lo script per la rotazione
var cx = bar1._x;
var lx = barw;
var dx = cx+lx;
var sx = cx-lx;
this.onMouseMove = function() {
this.posx = this._xmouse;
};
this.onEnterFrame = function() {
mx1 = Math.round(this.posx-cx)*-1;
mx1 = Math.round(mx1/fattore);
bar1._x += mx1;
var bar1X = bar1._x;
if (bar1X<sx) {
bar1._x = bar2X+lx;
}
if (bar2X<sx) {
bar2._x = bar1X+lx;
}
if (bar1X>dx) {
bar1._x = bar2X-lx;
}
if (bar2X>dx) {
bar2._x = bar1X-lx;
}
};
}