Ciao a tutti,
Intro
ho creato il seguente script (del quale a richiesta pubblico il sorgente)
che duplica sulla base si un array (col metodo attach movie) un clip chiamato
bottone che contiene all'interno un bottone con l'effetto rollover chiamato basebottone.
Fino a qui tutto bene.
Problema
Nell'assegnare l'azione al bottone basebottone col metodo onRelease ho provato con un semplice:
Il problema è che la variabile pagina è uguale in tutti i bottoni e non viene ricalcolata col ciclo for come avviene invece per le varie istanze dei bottoni.codice:_root.gotoAndStop(pagina);
Come posso risolvere ilproblema?
Esiste in metodo per assegnare dei nomi di variabile dinamicamente o un metodo alternativo per risolvere questo errore?
Grazie mille,
Dav aka Azote
Codice
codice:// Lista label var menu:Array = ["LINK1","LINK2","LINK3"]; // Spazio in pixel tra le label var spazio = 0; var defaultX = 85; var defaultY = 45; // Nome clip istanza in libreria var istanza = "bottone"; // Ed ora lo script! for (i in menu) { var depth:Number = _root.getNextHighestDepth(); istanzapiu = istanza+i; attachMovie(istanza, istanzapiu, depth); var newY:Number = i * (_root[istanzapiu]._height + spazio); attachMovie(istanza, istanzapiu, depth); setProperty(istanzapiu, _y, newY + defaultY); setProperty(istanzapiu, _x, defaultX); _root[istanzapiu].etichetta = menu[i]; /* QUI NON VA E MI BECCA SOLO L'ULTIMA VARIABILE!! */ _root[istanzapiu].basebottone.onRelease = function () { pagina = _root[istanzapiu].etichetta; trace ("Label pagina: "+ pagina); _root.gotoAndStop(pagina); }; /* FINE ERRORE */ trace(menu[i]); trace(newY); trace(depth); }

Rispondi quotando