|
|
| Autore |
Messaggio |
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto: Flash e xml
Inviato: 23.02.04 | 15:03 |
|
|
Ciao a tutti, ho dei gravi problemi con XML ho iniziato da poco sto cercando di trasformare un progetto in txt a xml... cmq vi spiego meglio..
ho impostato il file test.xml cosi!!!
<?xml version="1.0" encoding="UTF-8" ?>
<eniter box="PVB261">
<step nome1="step1" colore1="giallo" />
<step nome2="step2" colore2="giallo" />
<step nome3="step3" colore3="giallo" />
<step nome4="step4" colore4="giallo" />
<step nome5="step5" colore5="giallo" />
<step nome6="step6" colore6="giallo" />
<step nome7="step8" colore7="giallo" />
<step nome8="step9" colore8="giallo" />
</eniter>
Actio script
mio_xml = new XML();
mio_xml.path = this;
mio_xml.ignoreWhite = true;
mio_xml.onLoad = function(success) {
if (success) {
this.path.nomestep1 = this.firstChild.attributes.box;
} else {
this.path.testo = "caricamento errato";
}
};
mio_xml.load("test.xml");
vorrei sapere come muovermi nel (nodi) file xml
dovrei avere le seguenti righe
this.path.nomestep1 =step1
this.path.nomestep2 =step2
this.path.nomestep3 =step3
this.path.nomestep4 =step4
this.path.nomestep5 =step5
grazie!!! |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
|
| Torna in cima |
|
|
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto:
Inviato: 23.02.04 | 16:37 |
|
|
| Ora non mi funziona piu nulla!!!!! |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 23.02.04 | 16:42 |
|
|
si, scusa... dalla fretta ho fatto un bel po' di caxxate...
fai così:
//file XML
| Codice: | <?xml version="1.0" encoding="UTF-8" ?>
<eniter box="PVB261">
<step nome="step1" colore="giallo1" />
<step nome="step2" colore="giallo2" />
<step nome="step3" colore="giallo3" />
<step nome="step4" colore="giallo4" />
<step nome="step5" colore="giallo5" />
<step nome="step6" colore="giallo6" />
<step nome="step7" colore="giallo7" />
<step nome="step8" colore="giallo8" />
</eniter> |
//actionscript
| Codice: | stop();
mio_xml = new XML();
mio_xml.ignoreWhite = true;
mio_xml.load("prova.xml");
mio_xml.onLoad = function(success) {
if (success) {
nodo = mio_xml.firstChild.childNodes;
totaleNodi = nodo.length;
trace(nodo);
trace("totale nodi = "+"totaleNodi);
trace("-----");
for(i=0;i<totaleNodi;i++){
//uso trace per farti visualizzare che prende i dati
trace("nome = "+nodo[i].attributes.nome);
trace("colore = "+nodo[i].attributes.colore);
}
}
else {
ERRORE
}
} |
____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto:
Inviato: 23.02.04 | 16:43 |
|
|
Ti scrivo quello che voglio fare e mi dici tu..
ho un filmato composto da sei mc e dentro ognuna c'è un campo di testo dinamico che deve cambiare testo al caricarsi da file esterno, nel mio filmato riesco anche a cambiare colore tramite set color caricato dallo stesso file...
File.txt
&pvb261=0x663333&
&nomestep1=luca&
&nomestep2=step2&
&nomestep3=step3&
&nomestep4=Prova&
&nomestep5=step5&
&nomestep6=step6&
&nomestep7=step7&
&nomestep8=step8&
&nomestep9=step9&
&nomestep10=step10&
&nomestep11=step11&
&nomestep12=step12&
&nomestep13=step13&
&nomestep14=step14&
&nomestep15=step15&
&a=0xff9900&
&b=0x33ccff&
&c=0x6699cc&
&d=0xFFFF00&
&e=0xCCCC00&
&f=0xCCCC00
action script
tuoTesto = new LoadVars();
tuoTesto.path = this;
tuoTesto.onLoad = function(success) {
if (success) {
//
pippo = new Color(pvb261);
pippo.setRGB(tuoTesto.pvb261);
setProperty("_root.pvb261", _alpha, "65");
pippo = new Color(check);
pippo.setRGB(tuoTesto.a);
pippo = new Color(1);
pippo.setRGB(tuoTesto.b);
pippo = new Color(2);
pippo.setRGB(tuoTesto.c);
pippo = new Color(3);
pippo.setRGB(tuoTesto.d);
pippo = new Color(4);
pippo.setRGB(tuoTesto.e);
pippo = new Color(5);
pippo.setRGB(tuoTesto.f);
//
} else {
trace("Errore nel caricamento file!");
}
};
tuoTesto.load("test.txt");
ecco tutto questo vorrei farlo con xml..
come ti ho postato in precedenza!!!!
se vuoi ti invio il fla
Fammi sapere ciao!!!
| Coach ha scritto: | io farei così:
1 - conterei quanti sono i nodi
2 - con un ciclo assegenrei i valori
es:
| Codice: | stop();
mio_xml = new XML();
mio_xml.ignoreWhite = true;
mio_xml.load("test.xml");
mio_xml.onLoad = function(success) {
if (success) {
nodo = mio_xml.firstChild.childNodes;
totaleNodi = nodo.length;
}
else {
ERRORE
}
}
this.onEnterFrame = function(){
//ciclo
for(i=0;i<totaleNodi;i++){
nomestep[i].nome = nodo[i].childNodes.attributes.nome;
nomestep[i].colore = nodo[i].childNodes.attributes.colore; |
adesso nn ho controllato bene i percorsi, cmq con il debug di flash nn dovresti avere problemi...
xò all'XML da come attributo nome nn nome1,nome2...
<?xml version="1.0" encoding="UTF-8" ?>
<eniter box="PVB261">
<step nome="step1" colore="giallo" />
<step nome="step2" colore="giallo" />
<step nome="step3" colore="giallo" /> |
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 23.02.04 | 18:03 |
|
|
hai provato quello che ti ho scritto nella seconda risposta???
dovrebbe essere tutto corretto, quindi darti nella finestra di output, i dati che ti servono, ora, i dati che hai ricevuto li puoi applicare a quello che vuoi... ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto:
Inviato: 25.02.04 | 16:16 |
|
|
Ciao Coach !!! dovrei aver quasi risolto usando questa soluzione!!!
XML
<?xml version="1.0" encoding="UTF-8" ?>
<eniter box="PVB261"/>
<step nome="step1" colore="#FF0000"/>
<step nome="step2" colore="#FF0000"/>
<step nome="step3" colore="0xFF0000"/>
<step nome="step4" colore="#FF0000"/>
<step nome="step5" colore="0xFF0000"/>
<step nome="step6" colore="#FF0000"/>
<step nome="step7" colore="#FF0000"/>
<step nome="step8" colore="#FF0000"/>
<step nome="step9" colore="#FF0000"/>
<step nome="step10" colore="#FF0000"/>
<step nome="step11" colore="#FF0000"/>
<step nome="step12" colore="#FF0000"/>
<step nome="step13" colore="#FF0000"/>
<step nome="step14" colore="#FF0000"/>
<step nome="step15" colore="#FF0000"/>
<step nome="step16" colore="#FF0000"/>
e actionscript
mio_xml = new XML();
mio_xml.path = this;
mio_xml.ignoreWhite = true;
nodo = this.firstChild.childNodes;
mio_xml.onLoad = function(success) {
if (success) {
this.path.nomestep1 = this.childNodes[1].attributes.nome;
this.path.nomestep2 = this.childNodes[2].attributes.nome;
this.path.nomestep3 = this.childNodes[3].attributes.nome;
this.path.nomestep4 = this.childNodes[4].attributes.nome;
this.path.nomestep5 = this.childNodes[5].attributes.nome;
this.path.nomestep6 = this.childNodes[6].attributes.nome;
this.path.nomestep7 = this.childNodes[7].attributes.nome;
this.path.nomestep8 = this.childNodes[8].attributes.nome;
this.path.nomestep9 = this.childNodes[9].attributes.nome;
this.path.nomestep10 = this.childNodes[10].attributes.nome;
this.path.nomestep11 = this.childNodes[11].attributes.nome;
this.path.nomestep12 = this.childNodes[12].attributes.nome;
this.path.nomestep13 = this.childNodes[13].attributes.nome;
this.path.nomestep14 = this.childNodes[14].attributes.nome;
this.path.nomestep15 = this.childNodes[15].attributes.nome;
this.path.nomestep16 = this.childNodes[16].attributes.nome;
this.path.prova = this.childNodes[16].attributes.colore;
} else {
this.path.testo = "caricamento errato";
}
};
mio_xml.load("Prova.xml");
ora il problema e caricare il secondo attributo "colore" e cambiare il colore agli oggetti!!!
ciao e grazie!!!
| Coach ha scritto: | hai provato quello che ti ho scritto nella seconda risposta???
dovrebbe essere tutto corretto, quindi darti nella finestra di output, i dati che ti servono, ora, i dati che hai ricevuto li puoi applicare a quello che vuoi... |
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
|
| Torna in cima |
|
|
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto:
Inviato: 25.02.04 | 20:05 |
|
|
Si infatti questa è una cosa che mi serve sicuramente(accorcia di molto il lavoro), ma come ti ripeto, non sono molto esperto... e tutto fà brodo!!!
La cosa che però mi rende neccessario l'aiuto di un bravo flasher!!! ;-) è che devo poter caricare i valori (guarda gli altri post) dei colori per far cambiare ogni volta il colore di un determinato mc con il comando new color!!!
PS
ho provato il ciclo che mi hai postato.... volevo farti un altr domanda come faccio ad avere il colore diverso del testo? mi appare solo nero!!!
Ciao e grazie ancora!!!
| Coach ha scritto: | scusa, ma non fai prima con un ciclo for, invece di un if???
| Codice: | mio_xml = new XML();
mio_xml.path = this;
mio_xml.ignoreWhite = true;
nodo = this.firstChild.childNodes;
mio_xml.onLoad = function(success) {
if (success) {
for(i=1;i<=16;i++){
this.path["nomestep"+i] = this.childNodes[i].attributes.nome;
this.path["colore"+i] = this.childNodes[i].attributes.colore;
}
}
else {
this.path.testo = "caricamento errato";
}
};
mio_xml.load("Prova.xml"); |
|
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 26.02.04 | 09:45 |
|
|
nomestep è un campo di testo dinamico???
se è un campo di testo dinamico usa la proprietà textColor ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto:
Inviato: 26.02.04 | 11:42 |
|
|
Se ti riferisci alla domanda sul colore nero del testo si...
se invece intendi il problema del colore dell'oggetto, ha gia un nome istanza definito a priori tipo step1;step2;step3 ecc....
il problema e fargli cambiare di colore con il caricamento (attributo colore) del file xml.
PS
Ti ricordi ti avevo spedito il file?
| Coach ha scritto: | nomestep è un campo di testo dinamico???
se è un campo di testo dinamico usa la proprietà textColor |
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 26.02.04 | 13:05 |
|
|
esempio:
this.path.nomestep1.text = this.childNodes[1].attributes.nome;
//applichi il testo
this.path.nomestep1.textColor = this.childNodes[1].attributes.colore;
//applichi il colore ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
|
| Torna in cima |
|
|
vox
principiante


Registrato: 23/02/04 15:02
Messaggi: 30
|
Oggetto:
Inviato: 26.02.04 | 16:35 |
|
|
Dimmi se posso inviarti il file aggiornato e cosi vediamo di capirci qualcosa!!!
| Coach ha scritto: | forse è meglio se ti spiego filo per segno come fare... poi la grafica te la imposti tu (una specie di mini-tutorial)
» creati un MC vuoto, ed un pulsante
» nell' MC "vuoto" crei 2 livelli, in quello superiore posiziona un campo di testo dinamico con nome istanza step mentre in quello sottostante posiziona un pulsante.
ora concatena l'MC nella libreria (nello stage nn deve esserci niente, o uno sfondo come quello che hai usato tu nel .fla che mi hai inviato...
ora nel 1° frame metti questo actionscript:
| Codice: | mio_xml = new XML();
mio_xml.ignoreWhite = true;
nodo = this.firstChild.childNodes;
mio_xml.onLoad = function(success) {
if (success) {
nodo = mio_xml.firstChild.childNodes;
//9 è il numero di nodi, mettine quanti ne vuoi...
for (i=0; i<=9; i++) {
_root.attachMovie("puls","puls"+i,i);
_root["puls"+i]._x = 100;
_root["puls"+i]._y = i*25+30;
_root["puls"+i].step.text = nodo[i].attributes.nome;
_root["puls"+i].step.textColor = nodo[i].attributes.colore;
trace(nodo[i]);
}
}
else {
this.path.testo = "caricamento errato";
}
}
mio_xml.load("prova.xml"); |
e l' XML deve essere così:
| Codice: | <?xml version="1.0" encoding="UTF-8" ?>
<eniter box="PVB261">
<step nome="step1" colore="0xFF0000" />
<step nome="step2" colore="0x336699" />
<step nome="step3" colore="0xcc3366" />
<step nome="step4" colore="0xFFFFFF" />
<step nome="step5" colore="0x000000" />
<step nome="step6" colore="0x009900" />
<step nome="step8" colore="0x006600" />
<step nome="step9" colore="0x000099" />
</eniter> |
fammi sapere!!!  |
|
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4549
Località: Verona
|
Oggetto:
Inviato: 26.02.04 | 18:49 |
|
|
Hai provato?
Così funziona di sicuro...
cos'è che nn capisci o non riescia fare??? ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
|