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

Rispondi quotando