Si esattamente. "This.fileName_param" è l'array contenente una riga della matrice "array_img". Il problema è che non riesco a passare alla seconda riga della matrice in modo automatico (cioè quando arrivo alla fine della prima riga); il problema è che il puntatore delle righe non si incrementa ("this.puntatore_param").
Di seguito riporto l'intero script di interesse;
codice:
#initclip
//Costruttore della classe "SlideShowClass"
function SlideShowClass()
{ this.init();
}
//Il componente "SlideShowClass" eredita i metodi e le proprietà
// della classe "MovieClip()"; la riga successiva evita che la classe
// "SlideShowClass" sovrascriva i metodi propri della classe "MovieClip"
SlideShowClass.prototype = new MovieClip();
//Inizializzazione del componente
SlideShowClass.prototype.init = function()
{
//Puntatore matrici dati
this.puntatore_param = puntatore;
//Array dei file relativi alle immagini da visualizzare
this.fileNames_param = array_img[this.puntatore_param];
//Array dei file mp3
this.mp3Names_param = array_mp3[this.puntatore_param];
//Array dei tioli relativi alle immagini
this.imageTitles_param = array_titoli[this.puntatore_param];
//Path relativo alla directory delle immagini
this.directoryPath_param = path_img[this.puntatore_param];
//Path relativo alla directory dei file mp3
this.directoryMP3_param = path_mp3[this.puntatore_param];
//Dimensioni originali del box di visualizzazione (width, height)
this.origWidth = this.container_mc._width;
this.origHeight = this.container_mc._height;
//Imposto il centro dell'immagine
this.center = this.container_mc._x + (this.origWidth / 2);
//Puntatore all'array delle immagini
this.imagePointer = 0;
//Caricamento della prima immagine
this.loadNextImage();
//Creo un'istanza dell'oggetto "Sound"
mySound = new Sound();
} // init
//Caricamento dell'immagine successiva nel container "MovieClip"
SlideShowClass.prototype.loadNextImage = function()
{
//Impongo una trasparenza nulla al caricamento dell'immagine in modo
//da non vedere lo sfarfallio
this.container_mc._alpha = 0;
this.container_mc.loadMovie(this.directoryPath_param +
this.fileNames_param[this.imagePointer]);
this.label_txt.text = this.imageTitles_param[this.imagePointer];
//Numero progressivo dell'immagine
this.num_txt.text = this.imagePointer + 1;
//Attesa per il caricamento dell'immagine
clearInterval(this.loadNextID);
this.loadCompleteID = setInterval(this, "waitForLoadedImage", 100);
// Azioni per i pulsanti "leftButton_mc" e "rightButton_mc"
this.leftButton_mc.onRelease = function()
{
this.clearInterval(this.loadcompleteID);
this._parent.imagePointer -= 1;
if(this._parent.imagePointer < 0)
this._parent.imagePointer = 0;
this._parent.loadNextImage();
mySound.stop();
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
}
this.rightButton_mc.onRelease = function()
{
//Incremento del puntatore relativo all'array delle immagini
this._parent.imagePointer ++;
if(this._parent.imagePointer >= this._parent.fileNames_param.length) {
//puntatore righe (array)
this._root.puntatore_param ++;
//puntatore colonne (elementi array)
this._parent.imagePointer = 0;
//trace(this._root.puntatore_param);
};
//Carico l'immagine successiva
this.clearInterval(this.loadcompleteID);
this._parent.loadNextImage();
mySound.stop();
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
}
// Gestione del pulsante "home_mc"
this.homeButton_mc.onPress = function () {
gotoAndStop("main");
mySound.stop();
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
}
}
////////////////////////////////////////////////////////////
//Attesa per il caricamento dell'immagine; ridimensionamento
//e conteggio per il successivo caricamento
////////////////////////////////////////////////////////////
SlideShowClass.prototype.waitForLoadedImage = function()
{ if(this.container_mc.getBytesLoaded() > 4 && this.container_mc.getBytesLoaded() == this.container_mc.getBytesTotal())
{ clearInterval(this.loadCompleteID);
//Scala originale
this.container_mc._xscale = this.container_mc._yscale = 100;
// Controllo per le immagini oversized
if(this.container_mc._width > this.origWidth ||
this.container_mc._width > this.origHeight)
{
var wRatio = this.origWidth / this.container_mc._width;
var hRatio = this.origHeight / this.container_mc._height;
//Controllo se l'immagine è troppo larga o troppo alta
if(wRatio < hRatio)
{
//too wide, shrink to fit width
this.container_mc._width *= wRatio;
this.container_mc._height *= wRatio;
this.container_mc._x = ((this.origWidth - this.container_mc._width)/2);
} else
{
//too wide, shrink to fit height
this.container_mc._width *= hRatio;
this.container_mc._height *= hRatio;
this.container_mc._x = ((this.origWidth - this.container_mc._width)/2);
} // if-else
//Riposizionamento del centro dell'immagine
this.container_mc._x = this.center - (this.container_mc._width / 2);
//trasparenza massima quando riposiziono il centro dell'immagine
this.container_mc._alpha = 100;
} // if oversized
} // if loaded
} // waitForLoadedImage
Object.registerClass("FSlideShowSymbol", SlideShowClass);
#endinitclip