Salve a tutti, ho dei problemi con un actionscript che interpreta un file xml, estrae della variabili ed utilizza la funzione duplicateMovieClip per generare delle icone provviste di descrizione testuale dei link asscociati, alle cui icone viene assegnato un link estratto dal file xml.
Il problema è che sia da modalità debug, sia utilizzando la funzione trace, l'assegnazione ai relativi movie clip generati dei link a loro associati sembra andare a buon fine, ma cliccando sulle relative icone si ha questa situazione:
-cliccando sulla prima icona si è portati al secondo link
-cliccando sulla seconda icona si è portati al terzo link
-cliccando sulla terza icona si è portati al terzo link
Il discorso è iterativo naturalmente e non comprendo perchè succeda , ci sto pensando da parecchio tempo ormai ma non riesco a rintracciare il problema.

Ecco il codice actionscript:
codice:
stop();
filexml = "downloads.xml";
ApriXML();
function ApriXML() {
	mioxml = new XML();
	myarray = new Array();
	myarray2 = new Array();
	myarray3 = new Array();
	id_download = new Array();
	url_links = new Array();
	nome_link = new Array();
	scostamento = 60;
	mioxml.load(filexml);
	mioxml.onLoad = ElaboraXML;
	function ElaboraXML(success) {
		if (mioxml.loaded) {
			myarray = mioxml.childNodes;
			for (i=0; i<=myarray.length; i++) {
				if (myarray[i].nodeName == "downloads") {
					myarray2 = myarray[i].childNodes;
					for (i=0; i<=myarray2.length; i++) {
						if (myarray2[i].nodeName == "down") {
							//array degli id dei download
							id_download.push(myarray2[i].attributes.id);
							myarray3 = myarray2[i].childNodes;
							for (k=0; k<=myarray3.length; k++) {
								if (myarray3[k].nodeName == "url") {
									//array degli url
									url_links.push(myarray3[k].childNodes.toString());
								}
								if (myarray3[k].nodeName == "nome") {
									//array dei nomi
									nome_link.push(myarray3[k].childNodes.toString());
								}
							}
						}
					}
				}
			}
		}
		trace("id_download elementi = "+id_download.length);
		trace("id_download array = "+id_download);
		trace("url_links array = "+url_links);
		trace("nome_link array = "+nome_link);
		trace("-------------------------------->");
		if (id_download.length == url_links.length) {
			contatore = id_download.length;
		}
		for (j=0; j<=contatore-1; j++) {
			name_mc = "PDF"+j;
			trace(name_mc);
			pdfico.duplicateMovieClip(name_mc, j);
			setProperty(name_mc, _x, 50);
			setProperty(name_mc, _y, 50+scostamento*j);
			trace(url_links[j]);
			trace("-------------------------------->");
			_root["PDF"+j].nome_link = nome_link[j]+" legato a "+url_links[j];
			_root["PDF"+j].url_link = url_links[j];
		}
	}
}
Questo invece è quello relativo all'xml:
codice:
<?xml version="1.0" encoding="UTF-8"?>
<downloads>
<down id="01"><url>\primo url</url><nome>primo nome</nome></down>
<down id="02"><url>\secondo url</url><nome>secondo nome</nome></down>
<down id="03"><url>\terzo url</url><nome>terzo nome</nome></down>
</downloads>
Questo quello relativo all'icona:
codice:
on(press){
getURL(url_link, "_blank");
trace(url_link);
}