Ciao, ho un problema con i pulsanti generati dinamicamente con duplicateMovieclip:
Questo è il mio codice:
Prima di queto codice ho dichiarato i due array: url_imm e url_foto.codice:function visualizza() { for (i=1; i<=q_img; i++) { // visualizzo le foto url_foto[i] = "img/"+cartella+"/icone/"+tipo+"/"+i+".JPG"; loadMovie(url_foto[i], "_root.d"+i); // Creo i campi e assegno il testo _root.createTextField("campo_txt"+i, i, pos_x[i], pos_y[i], dim_x, dim_y); _root["campo_txt"+i].text = i+estensione; // Creo i pulsanti e i link duplicateMovieClip("btn", "btn"+i, i+12); _root["btn"+i]._x = pos_x[i]; _root["btn"+i]._y = pos_y[i]-110; // _root["btn"+i].onRelease = function() { url_imm[i] = "img/"+cartella+"/"+tipo+"/"+i+estensione; getURL(url_imm[i], _blank); }; } }
lo script con un ciclo for, carica delle immagini nei movieclip, pi crea dinamicamente dei campi di testo e ci assegna un testo, che è il nome della foto.
Infine creo i pulsanti che ricevono la posizione da altri due array precedentemente dichiarati e fin qui tutto funziona.
Il problema è qui:
Ai pulsanti non viene assegnata un'azione propria, ma a tutti viene assegnata la stessa, la variabile del ciclo "i" che determina il numero di foto dovrebbe essere assegnata in progressivo ad ogni pulsante.codice:_root["btn"+i].onRelease = function() { url_imm[i] = "img/"+cartella+"/"+tipo+"/"+i+estensione; getURL(url_imm[i], _blank); }; } }
Quando provo il filmato però ad ogni pulsante corrisponde l'ultima immagine, il numero di fine ciclo.
Se invece di usare gli array scrivo il codice a mano, tutto funziona.
Esempio se scrivo
_root.btn1.onRelease= function (){
getURL(url_imm1, _blank);
}
Funziona perfettamente, penso sia un problema legato a questa sintassi:
_root["btn"+i].onRelease unito alla funzione che il tasto deve svolgere.
Qualcuno ci è già passato? ho perso mezza giornata ma niente.
Ciao

Rispondi quotando