Creare eventi personalizzati in Actionscript 3.0
domenica 18 maggio, 2008Creare eventi personalizzati in Actionscript 3.0 è semplicissimo. Usarli, poi, permette di utilizzare il metodo addEventListener() e rendere il nostro oggetto del tutto standard. Se abbiamo creato una classe, ad esempio Bottone, è corretto associare a questa uno o più eventi tramite una apposita classe (derivata dalla classe Event) BottoneEvent. Potremmo realizzare tutti gli eventi che interessano il funzionamento del nostro oggetto: il click, il mouse over, o un qualsiasi altro evento! Definendo anche delle nostre personali costanti. Lo scheletro - generico - di una classe evento personalizzata è:
-
package {
-
/*
-
** @name : BottoneEvent.as
-
** @description : Classe derivata da Event per gestire un proprio evento personalizzato
-
** @author : =undo=
-
** @web : http://www.undolog.com
-
** @email : g.fazioli@undolog.com
-
*/
-
import flash.events.*;
-
-
-
-
/*
-
** @name : BottoneEvent
-
** @description : constructor
-
*/
-
super(type, bubbles, cancelable);
-
this.Value = v;
-
}
-
-
/*
-
** @override
-
*/
-
return new KnobEvent(this.type, this.Value, this.bubbles, this.cancelable);
-
}
-
}
-
}
Nella classe Bottone la situazione è ancora più semplice! Prendiamo ad esempio la porzione di codice che genera l'evento, all'interno della classe Bottone:
-
/*
-
** @name : mioMetodo()
-
*/
-
public function mioMetodo():void {
-
// succede qualcosa e dobbiamo generare un evento
-
// passando anche un valore
-
dispatchEvent( new BottoneEvent( BottoneEvent.MIOEVENTO, 1234 ) );
-
}
Lato applicativo, ovviamente, useremo la nostra classe Bottone come tutte le altre:
-
import Bottone;
-
import BottoneEvent;
-
//
-
var foo:Bottone = new Bottone();
-
foo.addEventListener( BottoneEvent.MIOEVENTO,
-
function( e:BottoneEvent ):void {
-
// do!
-
trace( e.type + ' / ' + e.Value ); // 'pluto / 1234'
-
}
-
);



















Lascia un commento