devo sistemare questa ultima cosa:
cè un errore da qualche parte che non mi permette il caricamento automatico della prima img a scapito delle successive o viceversa.
questo è quello che faccio in breve:
leggo il file xml, carico l'array che utilizzerò per creare il menù, e fatto il primo passaggio carico la prima immagine di default, e poi continuo con la creazione del menù.
l'immagine che carico con loadmovie va a finire in un altro layer:
+ esattamente in "_root.pippo" cè questo codice, mentre l'immagine viene creata in "_root.sezione.immagine_vis"
sempre dentro "_root.pippo" viene creato il menù ogno bottone del menù è "container"
Codice PHP:
if (loaded) {
xmlNode = this.firstChild;
image = [];
image2 = [];
description = [];
id = [];
testo_cat = [];
total = xmlNode.childNodes.length;
var yPos = 0;
// carico l'array per una lunghezza pari al numero di nodi, con un contatore i
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
image2[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
id[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
testo_cat[i] = xmlNode.childNodes[i].childNodes[4].firstChild.nodeValue;
}
// visualizzo la prima immagine dell'array
_root.sezione.immagine_vis.loadMovie(image[0]);
_root.sezione._visible=false;
// richiamo la funzione che aggiunge i bottoni
aggiungi();
} else { content = "file not loaded!"; }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("xml_flash/realizzazioni.php");
//_global.lim=_root.controllo.text;
function aggiungi (){
//punto di partenza di x e y
var xPos = 30;
var yPos = 235;
//con il ciclo includo nel movie container alle istanze presenti
//in esso i valori recuperati dal file xml
for (var k=0; k<total; k++) {
//attach the container clip
attachMovie("container", "new"+k, k, {_x:xPos, _y:yPos});
//increase the y position each time
yPos += this["new"+k]._height+0;
//add the information
this["new"+k].name.text = description[k];
this["new"+k].name._alpha=70;
this["new"+k].spazio_scritta._alpha=70;
this["new"+k].image.loadMovie(image[k]);
this["new"+k].image._alpha=100;
this["new"+k].link = image2[k];
this["new"+k].sez_id = id[k];
this["new"+k].testo.text = testo_cat[k];
//_root.pinco.text= image2[k];
}
}
a questo punto avrò la prima immagine caricata in un livello, e il menù in un altro livello.
questo una parte del codice abbinato al bottone del 1° menù:
Codice PHP:
on (release) {
_root.img_logo._visible=false;
_root.sezione._visible=true;
_root.sezione.immagine_vis.unloadMovie(link);
//_root.sezione.immagine_vis.unloadMovie(link_sez);
//carica l'immagine in riferimento alla categoria
_root.sezione.immagine_vis.loadMovie(link)
//imposto la larghezza (tutte le immagini che carico in questa posizione sono 280X210) caricate precedentemente con un pannello di gestione
_root.sezione.immagine_vis._width=280;
_root.sezione.immagine_vis._x=0;
_root.sezione.immagine_vis._y=-235;
_root.sezione.immagine_vis._quality = "best";
_root.sezione.immagine_vis._alpha=0;
//gestisco il testo per quella determinata categoria
_root.sezione.testo_cat.text=this.testo.text ;
_root.sezione.testo_cat.text._alpha=0;
_root.link_big.text="";
//disattivo il bottone su immagine_vis per ingrandimento
_root.sezione.immagine_vis.enabled=false
//gestisco i bottoni e
_root.sinistra.enabled=false;
_root.sinistra._alpha=40;
_root.destra.enabled=true;
_root.destra._alpha=100;
//richiamo funzione verifica testo.
verifica_testo();
//Come per la creazione del 1° menù, qui vadoa creare il 2°. Leggo il file xml passandogli id che ricevo dal bottone cliccato.
.
.
.
.
xml2Data = new XML();
xml2Data.ignoreWhite = true;
xml2Data.onLoad = loadXML_sez;
xml2Data.load("xml_flash/realizzazioni_interno.php?id="+sez_id);
function aggiungi_sez (){
.
.
.
}
//altre funzioni per effetti sui bottoni.
}
//infine questo nel 2° frame in _root:
fa entrare l'immagine ingrandita dall'alto verso il basso.
_root.sezione.immagine_vis.onEnterFrame=function() {
//spostamento verso il basso fino ad occupare la posizione indicata
if( this._y<=0) {
this._y+=60;
}
//visualizzazione dell'immagine da alpha=0 a 100
if( this._alpha<=99) {
this._alpha+=10
}
delete this.onEnterFrame;
}
allora il punto principale è:
se imposto al momento della creazione del 1° menù la larghezza dell'immagine da aprire immagine_vis l'immagine si apre deformata, e cliccando su un bottone dle 1° menù l'immagine che viene caricata al primo turno non viene visualizzata, al secondo click si visualizza nella stessa posizione del menù.
se invece non setto la larghezza dell'img al momento della creazione del 1° menù, ma viene settata all' on(press) del bottone, l'immagine si apre correttamente nella posizione corretta, ma sempre al 2° click.
cioè il primo bottone che clicco mi apre l'imamgine nella posizione corretta ma non la dimensione corretta.
Spero di aver spiegato bene/ illustrato il problema.