Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583

    popolare array in movieclip

    Ciao,
    quelloo che voglio fare è richiamare dei movieclip sullo stagge con l'attachMovie e polare delle array all'interno di questi clip.
    Uso il seguente codice:

    Codice PHP:
            for (i=0;i<arrayAlbum.length;i++){
                
    _root.attachMovie("LP","LP"+i,i);
                var 
    arrayCanzoni:Array = arrayAlbum[i].childNodes;
                for (
    k=0;k<arrayCanzoni.length;k++){
                    
    _root["LP"+i]._x=50*i;
                    
    _root["LP"+i].titolo="tit"+i;
                    
    tit arrayCanzoni[k].attributes.titolo.toString()
                    
    //_root["LP"+i].songTitle[k] = "prova"+k;
                    
    _root["LP"+i].songTitle.push(tit);
                }
                
            } 
    Ma, mentre la variabile "titolo" all'interno dei movieclip viene valorizzata, l'array no, sia che usi il pus, sia che valorizzi elemento per elemento..
    Quale può essere il problema?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova prima a creare l'array per ogni clip

    Codice PHP:
    for (i=0;i<arrayAlbum.length;i++){
        
    _root.attachMovie("LP","LP"+i,i);
        
    _root["LP"+i].songTitle = new Array();
        
    _root["LP"+i]._x=50*i;
        
    _root["LP"+i].titolo="tit"+i;
        var 
    arrayCanzoni:Array = arrayAlbum[i].childNodes;
        for (
    k=0;k<arrayCanzoni.length;k++){
            
    tit arrayCanzoni[k].attributes.titolo.toString()
            
    //_root["LP"+i].songTitle[k] = "prova"+k;
            
    _root["LP"+i].songTitle.push(tit);
        }


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    L'avevo inizializzata all'interno del movieclip, credevo andasse bene ugualemente

    Adesso però mi popola solamente il primo valore, cioè:

    Se printo _root.LP0.songTitle[0] ok

    _root.LP0.songTitle[1] è undefined....

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Chimira
    L'avevo inizializzata all'interno del movieclip, credevo andasse bene ugualemente

    Adesso però mi popola solamente il primo valore, cioè:

    Se printo _root.LP0.songTitle[0] ok

    _root.LP0.songTitle[1] è undefined....
    ci sarebbe da verificare se arrayCanzoni è popolato correttamente... dovresti mettere qualche trace nel codice per capirlo

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    A prescindere da arrayCanzoni

    Codice PHP:
                   for (k=0;k<5;k++){
                    
    //tit = arrayCanzoni[k].attributes.titolo.toString();
                    
    tit "tit" +k
                    trace
    (tit);
                    
    _root["LP"+i].songTitle = new Array();
                    
    //_root["LP"+i].songTitle[k] = tit;
                    
    _root["LP"+i].songTitle.push(tit);
                } 
    anche così

    _root.LP0.songTitle[1] rimane indefinito e _root.LP0.songTitle[0] mi printa "tit4"
    E' incredibile....

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mmh... mi da l'impressione di prendere solo l'ultima "i" del ciclo precedente... anche se così non dovrebbe essere... ma... se facessi un'assegnazione diretta nel primo ciclio, invece di farne un secondo?!... vediamo se riesco a metterlo in codice quello che voglio dire...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    In realtà prende solamente l'ultima "k"

    ho semplificato al massimo, un solo ciclo

    Codice PHP:
        _root.attachMovie("LP","LP",1);
                for (
    k=0;k<5;k++){
                    
    _root.LP.songTitle = new Array();
                    
    _root.LP.songTitle.push(k);
                }

    trace(_root.LP.songTitle[1]); 
    anche così _root.LP.songTitle[1] è undefined.

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    for (var i = 0; i < arrayAlbum.length; i++){
    _root.attachMovie("LP", "LP"+i, i, {_x:50*i});
    _root["LP"+i].songTitle = new Array();
    _root["LP"+i].titolo = "tit"+i;
    _root["LP"+i].songTitle = arrayAlbum[i].childNodes;
    }

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Chimira
    In realtà prende solamente l'ultima "k"

    ho semplificato al massimo, un solo ciclo

    Codice PHP:
        _root.attachMovie("LP","LP",1);
                for (
    k=0;k<5;k++){
                    
    _root.LP.songTitle = new Array();
                    
    _root.LP.songTitle.push(k);
                } 
    anche così _root.LP.songTitle[1] è undefined.
    no questo codice è proprio sbagliato, ad ogni iterazione del ciclo ricrei "songTitle" e quindi lo svuoti, sarebbe corretto in questo modo


    Codice PHP:
    _root.attachMovie("LP","LP",1);
    _root.LP.songTitle = new Array();
    for (
    k=0;k<5;k++){
        
    _root.LP.songTitle.push(k);


  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    583
    Vero, che fagiano che sono.

    Funziona, grazie mille.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.