>Non capisco bene il RETURN MC... qual è la sua funzione?
La funzione "createButton" crea il bottone, e ne restituisce un riferimento, in modo che tu possa, con questo riferimento salvato nella variabile "but", assegnare al bottone l'evento onRelease.
>e con il colore del testo: dico bene?
no, è il colore di fondo del pulsante
>Se volessi aggiungere altri bottoni dinamicamente potrei
>modificare il nome VAR BUT con qualcosa tipo VAR "BUT"+n
>(n=1; n++), tanto per intenderci?
Quasi. but è solo un riferimento, non è il nome del pulsante, che invece è indicato dal primo parametro della funzione. Quindi, ad esempio:
codice:
function createButton(name, where, depth, x, y, width, height, text, color)
{
var mc = where.createEmptyMovieClip(prova, depth);
mc._x = x;
mc._y = y;
mc.moveTo(0, 0);
mc.lineStyle(1, 0x000000, 100);
mc.beginFill(color, 100);
mc.lineTo(width, 0);
mc.lineTo(width, height);
mc.lineTo(0, height);
mc.lineTo(0, 0);
mc.endFill();
mc.createTextField("txt", 1, 0, 0, 1, 1);
mc.txt.autoSize = "left";
mc.txt.text = text;
mc.txt._x = Math.round((width / 2) - (mc.txt._width / 2));
mc.txt._y = Math.round((height/ 2) - (mc.txt._height/ 2));
return mc;
}
function init()
{
var testi = ["primo pulsante", "secondo pulsante", "terzo pulsante"];
var colori = [0xFFCC00, 0x00CC99, 0xFF00FF];
for(var i = 0; i < testi.length; i++){
var profondita = i; // aumenti la profondità
var nome = "pulsante" + i; // pulsante1, pulsante2 ecc
var posizione = 140 * i; // sposti i pulsanti gradualmente verso destra
var but = createButton(nome, this, profondita, posizione, 50, 130, 25, testi[i], colori[i]);
// usando il riferimento restituito dal richiamo alla funzione, crei la variabile
// testo nel pulsante
but.testo = testi[i];
// allo stesso modo assegni l'evento
but.onRelease = function()
{
trace(this.testo)
};
}
}
init();