mi permetto di dissentire da giegi, imho la cosa è fattibilissima anche senza usare classi personalizzate posso farti un esempio semplicissimo di quello che intendo
poniamo su flash di creare un MovieClip "mc0" che contenga al suo interno un rettangolo e un campo di testo dinamico con nome di istanza "testo", scopo ultimo dell'esempio è quello di duplicare una serie di volte il nostro clip e assegnare un testo ad ogni nuovo clip che fungerà anche da pulsante, poniamo di salvare il nostro testo di ogni pulsante in un array ed utilizzare quest'ultimo per creare un ciclo di duplicazione e posizionamento dei nuovi clip, questo sarebbe il codice
codice:
// creo un array con tutti i testi che devono essere scritti nel textfield di ogni pulsante
var nomi:Array = new Array("home", "where", "when", "how", "why");
// assegno il primo testo al clip/pulsante nello stage
mc0.testo.text = nomi[0];
// ora con un ciclo duplico e posiziono i clip che saranno gli altri pulsanti
for(var i = 0; i < nomi.length; i++){
// con quest'if escludo il primo risultato dell'array, quello già assegnato
if(i != 0){
mc0.duplicateMovieClip("mc"+i, i, {_x:eval("mc"+(i-1))._width+eval("mc"+(i-1))._x)});
var path:MovieClip = eval("mc"+i);
path.testo.text = nomi[i];
}
}
// ora posso assegnare le azioni ad ogni clip sempre da timeline, ad esempio per il primo clip assegno
mc0.onRelease = function(){
trace(this._name+" è stato cliccato");
}
mc0.onRollOver = function(){
trace(this._name+" ha subito un rollover");
}
mc0.onRollOut = function(){
trace(this._name+" ha subito un rollout");
}
// così per gli altri clip che avranno un nome progressivo quindi mc1, mc2, mc3 ecc...
questo è solo uno dei mille modi di agire in questi casi, in ogni caso io credo che sia la cosa migliore abituarsi ad utilizzare i MovieClip anche come pulsanti, in modo da poterne sfruttare le caratteristiche che invece i Button (pulsanti) non hanno...