Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22

Discussione: flash, xml

  1. #11
    certo tranquillo!
    riassumendo:
    ti posto tutto il codice:
    codice:
    filexml = "news.xml";
    ApriXML();
          function ApriXML () {
     mioxml = new XML();
     myarray = new Array();
     myarray2 = new Array();
     myarray3 = new Array();
     tot = new Array();
     datax = new Array();
     oggettox = new Array();
     corpox = new Array();
     mioxml.load(filexml);
     mioxml.onLoad = ElaboraXML;
          function ElaboraXML (success) {
    		//se il documento XML è caricato prodeco all'estrapolazione
            if (mioxml.loaded) { 	//if mioxml.loaded
    		_root.loading_data.gotoAndPlay("load");
    		  myarray = mioxml.childNodes;
    
    	   // estrapolo dai tag
    		  for (j=0;j<=myarray.length;j++){	//for 1
    		  
    // APRO IL NODO PRINCIPALE (LISTA)
    		  if (myarray[j].nodeName == "lista"){	//if 1
    			   myarray2 = myarray[j].childNodes;
    				  for (i=0;i<=myarray2.length;i++){		//for 2
    // APRO IL NODO SECONDARIO (NEWS)
    					 if (myarray2[i].nodeName == "news"){	//if 2
    					   myarray3 = myarray2[i].childNodes;
    // APRO IL NODO NEWS
    							tot=myarray3;
    						  for (k=0;k<=myarray3.length;k++){//for 3
    							 if (myarray3[k].nodeName == "data"){	//if 3	
    							   _root.datax.push(myarray3[k].childNodes.toString());
    							 }//end if 3
    							if (myarray3[k].nodeName == "oggetto"){	// if 4
    							   _root.oggettox.push(myarray3[k].childNodes.toString());
    							 }//end if 4
    							if (myarray3[k].nodeName == "corpo"){	// if 5
    							   _root.corpox.push(myarray3[k].childNodes.toString());
    							   }//end if 5
    							 }// end for 3	
    					}//end if 2
    				}//end for 2
    			}//end if 1
    
    		}//end for 1
    		
    		};//end if mioxml.loaded
    		
    // 
    for (i=0; i<=myarray3.length; i++) { 
    
                // Inserisco un movieclip dalla libreria allo stage 
                _root.main.riga.attachMovie("clipmsg", "clipmsg"+i, i); 
                 
                // Attribuisco le coordinate X e Y 
                _root.main.riga["clipmsg"+i]._x = 10 
                _root.main.riga["clipmsg"+i]._y = i*160; 
                 
                // Passo al movieclip le variabili che ho preso dall'XML e messo negli Array 
                _root.main.riga["clipmsg"+i].var_data= datax[i]; 
                _root.main.riga["clipmsg"+i].var_ogg = oggettox[i];          
    	trace("---------");
    	trace(datax[i]);
    	trace(oggettox[i]);
    	trace(corpox[i]);
    }
    		//ALLEGGERISCO LA CPU :)
    	 delete myarray;
         delete myarray2;
         delete myarray3;
         delete mioxml;
     };
     };
    Con il trace che ho scritto i valori dell xml me li legge, perciò fin qui tutto ok!.

    Ora, voglio che venga creata una sequeza di mc che contiene una news (data oggetto e corpo) ciascuna, tramite questo codice:
    codice:
    for (i=0; i<=myarray3.length; i++) { 
    
                // Inserisco un movieclip dalla libreria allo stage 
                _root.main.riga.attachMovie("clipmsg", "clipmsg"+i, i); 
                 
                // Attribuisco le coordinate X e Y 
                _root.main["clipmsg"+i]._x = 10 
                _root.main["clipmsg"+i]._y = i*160; 
                 
                // Passo al movieclip le variabili che ho preso dall'XML e messo negli Array 
                _root.main["clipmsg"+i].var_data= datax[i]; 
                _root.main["clipmsg"+i].var_ogg = oggettox[i];  
    }
    il mc "modello" contiene tre campi di testo dinamici, ognuno sotto la voce "var" contiene:
    - var_data
    - var_ogg
    - var_corpo
    Il nome d'istanza di questo mc è riga.

    Con il codice che gentilmente mi hai passato dovrei creare quella sequenza (in verticale).
    Se noti ho modificato la seguente riga:
    _root.main.riga.attachMovie("clipmsg", "clipmsg"+i, i);

    correggimi se sbaglio:
    come l'ho scritta io duplica il mc riga
    come l'hai scritta tu duplica main
    o no? dimmi se sbaglio!

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Esatto.

    Prova a modificare
    _root.main["clipmsg"+i]._x = 10

    in
    _root.main.riga["clipmsg"+i]._x = 10

    e tutto dove c'è il riferimento a quel movieclip.
    Credo sia solamente più una questione di percorsi.

    Una cosa: se usi l'attachMovie, "clipmsg" è il valore di linkage che quel movieclip ha in libreria

  3. #13
    vorresti dire che nella libreria devo creare un mc vuoto con il nome di clipmsg?
    scusa l'ignoranza... ma cosa intendi per linkage???

  4. #14
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    No, no aspetta.

    Allora, tu hai (credo) un movieclip che contiene i campi di testo dinamici e che vorresti duplicare n volte, giusto?

    Questo movieclip non portarlo sullo stage, ma lascialo in libreria. Fai tasto destro su di lui e seleziona linkage. Come identifier scrivi clipmsg.

    Questa operazione permette di richiamare sullo stage tramite l'attachmovie un movieclip che si trova in libreria e di operare tramite actionscript su di esso.

  5. #15
    perdona di nuovo la mia ignoranza...
    io ho la versione in ita... linkage a cosa corrisponde?

  6. #16
    flash 8 intendo

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Non ne ho idea.
    E' sotto Properties che in ita sarà Propprietà

  8. #18
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Concatenamento

  9. #19
    proprietà: VVoVe:


  10. #20
    su concatenamento ho messo
    Identificatore: clipmsg

    .... nn da segni di vita!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.