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:
codice:
_root.gotoAndStop(pagina);
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.
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);
}