Salve, questo è il mio promo post, perciò saluto tutti...
Premetto di essere una newbie con actionscript e, purtroppo, per esigenze lavorative, ho dovuto cominciare da qualcosa di piuttosto complicato.
Ho bisogno di un aiuto con questo script che ho inserito in un template che l'azienda per cui lavoro ha acquistato per un sito di un cliente.
Lo script carica dinamicamente da db mysql (un file php esegue la query e manda i valori al filmato flash) delle immagini, del testo e dei link che devo inserire al release di un button.
Ecco il codice associato al movie clip costituito a sua volta da altri tre mc (l'immagine, il testo ed il mc che contiene il button).
Codice PHP:
onClipEvent(load) {
loadData = new LoadVars();
loadData.onLoad = function(){
for(i=0; i<this.tot; i++) { //finchè esistono records
if (i>0) // se non è il primo record duplico i filmati
{
// duplico il mc che contiene l'immagine
var contenitore:MovieClip = image.duplicateMovieClip("image"+i, i);
//Setto le proprietà per l'immagine
setProperty ("image"+i, _y, 120*(i));
// duplico il mc che contiene il testo
testo.duplicateMovieClip("testo"+i, 20+i);
// duplico il mc che contiene il button
var bottone:MovieClip = butt.duplicateMovieClip("butt"+i, 40+i);
//Setto le proprietà per il testo
if (i==1){ // proprietà del secondo elemento
setProperty ("testo"+i, _y, 220);
setProperty ("butt"+i, _y, 230);
} else { // proprietà degli elementi successivi al secondo
j=i-1;
setProperty ("testo"+i, _y, getProperty("testo"+j, _y)+110+(i*4));
setProperty ("butt"+i, _y, getProperty("butt"+j, _y)+111+(i*4));
}
// setto valori per testo, immagine e button
eval("testo"+i).cliente0 = this["cliente"+i]; // this["cliente"+i] caricato da db
prova = this["immagcli"+i]; // this["immagcli"+i] caricato da db
var mcLoader:MovieClipLoader = new MovieClipLoader()
mcLoader.loadClip(prova, contenitore);
provacli = this["cliente"+i];
bottone.area.onRelease = function() {
getURL("http://" + provacli, "_blank");
}
} else { // setto i valori per il primo mc
eval("testo").cliente0 = this["cliente"+i];
provacli = this["cliente"+i];
butt.area.onRelease = function() {
getURL("http://" + provacli, "_blank");
}
}
}
} // end function
loadData.load("pages/clienti.php");
} // end onClipEvent
Il risultato che ottengo è che il button linkerà per ogni sua occorrenza sempre al link corrispondente al valore dell'ultimo record caricato dal db.
Ho provato anche caricando i record singolarmente, ad esempio:
Codice PHP:
provacli = this["cliente"+i];
butt1.area.onRelease = function() {
getURL("http://" + provacli, "_blank");
}
e così funziona, ma non riesco a far ciclare il valore come dovrebbe.
In pratica il valore del link del button dovrebbe per ogni button corrispondere al testo sottostante, ma così non accade.
Non so se mi sono spiegata, purtroppo il problema è piuttosto complesso ed io abbastanza inesperta...
Spero riusciate ad aiutarmi un pochino... sono disperata!!!
Grazie a tutti,
Banshee