Ti posto la parte di codice che gestisce il caricamento delle immagini relativa al MC1:
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 generale
this.p = puntatore;
//nomi dei file immagini
this.fileNames_param = array_img;
//Array dei file mp3
this.mp3Names_param = array_mp3;
//Array dei tioli
this.imageTitles_param = array_titoli;
//Path relativo alla directory delle immagini
this.directoryPath_param = path_img;
//Path relativo alla directory dei file mp3
this.directoryMP3_param = path_mp3;
//Dimensioni originali del box di visualizzazione (width, height)
this.origWidth = this.container_mc._width;
this.origHeight = this.container_mc._height;
//Centro dell'immagine
this.center = this.container_mc._x+(this.origWidth/2);
//Caricamento della prima immagine
this.loadNextImage();
//Inizializzazione del campo testuale per il conteggio delle immagini
this.num_txt.text = this.p+1;
//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;
//Carico l'immagine nel contenitore
this.container_mc.loadMovie(this.directoryPath_param+this.fileNames_param[this.p]);
//Titolo Opera
this.label_txt.text = this.imageTitles_param[this.p];
//Attesa caricamento 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.p -= 1;
if (this._parent.p<=0) {
this._parent.p = array_img.length-1;
this._parent.num_txt.text = array_img.length;
}
this._parent.loadNextImage();
mySound.stop();
//Decremento contatore immagini
this._parent.num_txt.text--;
//Per riportare il MC "play_mc" nella posizione iniziale di "play"
_root.slideshow_mc.play_mc.gotoAndStop("play");
};
this.rightButton_mc.onRelease = function() {
//Incremento puntatore generale
this._parent.p++;
//Salvo in "temp" il puntatore immagini corrente
_global.temp = this._parent.p;
trace(_global.temp);
if (this._parent.p>=this._parent.fileNames_param.length) {
//se sono arrivato alla fine dell'array immagini riparto dall'inizio
this._parent.p = 0;
this._parent.num_txt.text = 0;
}
//Carico l'immagine successiva
this.clearInterval(this.loadcompleteID);
this._parent.loadNextImage();
mySound.stop();
//Contatore Immagini
this._parent.num_txt.text++;
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
};
// Gestione del pulsante "home_mc"
// "stanza_target" viene passata tramite i vari pulsanti
this.homeButton_mc.onPress = function() {
gotoAndStop(stanza_target);
mySound.stop();
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
};
//Gestione pulsante "appButton_mc"
this.appButton_mc.onPress = function() {
//trace("Premuto!!!!");
gotoAndStop("approfondisci");
mySound.stop();
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
};
};
Il problema è che vorrei salvare il puntatore this.p in modo che sia richiamabile dal MC2 che è comandato da un script analogo a questo che ti ho postato. Riporto la parte di codice del MC2 relativa al pulsante "Prev"
codice:
//Caricamento dell'immagine successiva nel container "MovieClip"
SlideShowClass2.prototype.loadNextImage = function() {
//Impongo una trasparenza nulla al caricamento dell'immagine in modo
//da non vedere lo sfarfallio
this.container_mc._alpha = 0;
//Carico l'immagine nel contenitore
this.container_mc.loadMovie(this.directoryPath_param+this.fileNames_param[this.p]);
//Titolo Opera
this.label_txt.text = this.imageTitles_param[this.p];
//Attesa caricamento 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.p -= 1;
if (this._parent.p<=0) {
this._parent.p = array_img.length-1;
this._parent.num_txt.text = array_img.length;
}
this._parent.loadNextImage();
mySound.stop();
//Decremento contatore immagini
this._parent.num_txt.text--;
//Per riportare il MC "play_mc" nella posizione iniziale di "play"
_root.slideshow_mc.play_mc.gotoAndStop("play");
};
this.rightButton_mc.onRelease = function() {
//Incremento puntatore generale
this._parent.p ++;
if (this._parent.p >= this._parent.fileNames_param.length) {
//se sono arrivato alla fine dell'array immagini riparto dall'inizio
this._parent.p = 0;
this._parent.num_txt.text = 0;
}
//Carico l'immagine successiva
this.clearInterval(this.loadcompleteID);
this._parent.loadNextImage();
mySound.stop();
//Contatore Immagini
this._parent.num_txt.text++;
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
};
// Gestione del pulsante "home_mc"
// In questo caso deve puntare all'opera "genitore"
this.homeButton_mc.onPress = function() {
//trace("premuto!!!");
_root.gotoAndStop("slideshow_personalizzato", temp);
mySound.stop();
//Per riportare il MC play_mc nella posizione iniziale
_root.slideshow_mc.play_mc.gotoAndStop("play");
//Problema: come ritornare all'ultima opera vista (come risalire di livello)
//////
_root.slideshow_mc.puntatore = temp;
//trace(_root.slideshow_mc.puntatore);
};
};
Quindi dal pulsante "homeButton_mc" devo risalire al primo MC1; il problema è come fare... Io voglio salvare il puntatore relativo all'ultima immagine che ho aperto in MC1; in pratica la sequenza logica delle azioni è:
1) sono in MC1 e visiono l'immagine "x";
2) premo il pulsante "approfondisci" e vado al MC2 dove visualizzo altre immagini;
3) Voglio ritornare all'immagine "x" di MC1 mediante il pulsante "homeButton_mc"