Salve a tutti
Sto lavoramdo su alcune Tavole in Flash 8 e sono riuscito dopo molti tentativi a risolvere un problema usando testi scritti in XML.
In pratica sullo stage ho un Testo dinamico vuoto in cui vengono caricati testi scritti all'interno di un xml. I testi sono caricati tramite un movie clip che una volta cliccato "legge" l'xml
Ho riscontrato due problemi però:
1 Il testo appare in maniera del tutto indipendente dallo spazio assegnatogli...cioè invece di adattarsi al Testo dinamico continua oltre i limiti del Testo Dinamico stesso...
2 Non riesco a rimuovere il movie clip cha attiva i testi...cambio stage con un bottone che mi rimanda allo stage 1, ma sullo stage ora c'è anche il movieclip....
ecco il mio codice
stop()
Back_btn.onRelease = function() { //---back btn riporta allo stage 1
play();
};
//-------------------------------------------Back Button txt--------------------serve a far comparire sulbottone un testo a scomparsa
Back_txt._visible = false;
Back_txt.onEnterFrame = function() {
Back_txt._y = _ymouse-10;
Back_txt._x = _xmouse+15;
};
Back_btn.onRollOver = function() {
Back_txt._visible = true;
};
Back_btn.onRollOut = function() {
Back_txt._visible = false;
};
//----------------------------------------------XML-------------------------------------------------
/* 1)creiamo un oggetto XML */
var caricaXML:XML = new XML();
/* 2)settiamo la proprietà ignoreWhite su true per ignorare gli spazi bianchi */
caricaXML.ignoreWhite = true;
/* 3)Specifichiamo nell'event handler onLoad la funzione che carichera i dati */
caricaXML.onLoad = leggiXML;
/* 4)carichiamo i dati del documento XML con il metodo load */
caricaXML.load("catalogoLibri.xml");
//
/* 5)impostiamo la funzione "leggiXML" che ci caricherà i dati */
var posInit = item_mc._y;
/* 6)registriamo la posizione della MovieClip item_mc */
function leggiXML(succes:Boolean) {
if (succes == true) {
//trace(this);
//Dichiariamo le variabili per caricare il contenuto dei nodi
var descrizione:Array = [];
//"tempArray" --> Array temporaneo per caricare il contenuto del file XML
var tempArray:Array = new Array();
// Verifichiamo lunghezza dell'array
var tempArray = this.firstChild.childNodes;
//trace(tempArray.length);
//Effettuiamo il ciclo per leggere sui nodi
for (var i:Number = 0; i<tempArray.length; i++) {
descrizione[i] = tempArray[i].childNodes[0].firstChild.firstChild;
//trace(tempArray[i])
// Effettuiamo con "trace" il debug delle variabili
//trace(images);
//trace(prezzo);
//trace(titolo);
//trace(descrizione);
//trace("==========");
//Dichiariamo una varibile di tipo MovieClip e duplichiamo "item_mc"
var item:MovieClip = item_mc.duplicateMovieClip("elemento"+i+"_mc", i);
//Assegiamo alla variabile "item" la posizione iniziale della clip "item_mc"
item._y = posInit;
// assegniamo alle clip duplicate i valori estratti da XML
item.descrizione = descrizione[i];
item.onRelease = function() {
loadimg_mc.loadMovie(this.images);
descrizione_txt.htmlText = this.descrizione;
this.titolo_txt.textColor = 0xFF0000;
oldId.titolo_txt.textColor = 16711935;
oldId = this;
};
}
} else {
trace("file non trovato!");
}
}
grazie dell'aiuto

Rispondi quotando