In realtà la versione funzionante è questa:
codice:
/**/
//Variabili per debug
var img = "galleria_2.jpg,http://localhost/compagniainstabile/public/img/att1.jpg";
//Dimensioni massime delle foto
var max_w = 300;
var max_h = 201;
var array_immagini:Array = img.split(",");
var i = 0;
var loader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();
loadListener.onLoadInit = function(loadTarget) {
loadTarget._alpha = 0;
var cw = loadTarget._width;
var ch = loadTarget._height;
trace(array_immagini[i]+" begin("+max_w+","+max_h+"): "+cw+","+ch);
if ((cw > max_w) || (ch > max_h)) {
var xratio = max_w / cw;
var yratio = max_h / ch;
var ratio = yratio;
if (xratio < yratio) {
ratio = xratio;
}
cw = Math.round(cw * ratio);
ch = Math.round(ch * ratio);
trace("end: "+cw+","+ch);
loadTarget._width = cw;
loadTarget._height = ch;
}
loadTarget._x = Math.round((max_w - cw)/2);
loadTarget._y = Math.round((max_h - ch)/2);
loadTarget._alpha = 100;
}
loader.addListener(loadListener);
buttonNext.onRelease = function(){
i = (i+1)%array_immagini.length;
var photo_mc = _root.pannello.createEmptyMovieClip("photo_mc",1);
loader.loadClip(array_immagini[i],photo_mc);
}
buttonPrev.onRelease = function(){
i--;
if (i<0){
i = array_immagini.length-1;
}
var photo_mc = _root.pannello.createEmptyMovieClip("photo_mc",1);
loader.loadClip(array_immagini[i],photo_mc);
}
this.onLoad = function(){
var photo_mc = _root.pannello.createEmptyMovieClip("photo_mc",1);
loader.loadClip(array_immagini[i],photo_mc);
}
Sostanzialmente ad ogni caricamento di nuova immagine vado a creare un nuovo movie clip che ridimensiono a dovere.