Escuchar componentes es fundamental para poder capturar los eventos disparados por los usuarios.
La pregunta que todos os estaréis formulando es ¿para qué quiero escuchar yo un componente? Pues bien, nosotros tenemos que escuchar a los componentes porque de esta forma podemos capturar sus eventos, teniendo en cuenta que sus eventos pueden ser cosas como lo que hay en la siguiente lista:
Evento --- Descripción
onClick: Se ejecuta cuando clicamos sobre el componente.
onChange: Se ejecuta cuando cambiamos algo en el componente.
onProgress: Se ejecuta cuando el contenido se esta cargando.
onComplete: Se ejecuta cuando el contenido se ha cargado.
onScroll: Se ejecuta cuando utilizamos el scroll en nuestro componente.
Como podéis observar, estos eventos no se podrán utilizar en todos los componentes, al igual que nos pasaba a la hora de personalizar nuestros componentes, si nuestro componente Button, no tiene barra de scroll, obviamente no podremos usar el evento onScroll. En la ayuda de Flash podéis ver qué eventos poseen los componentes, no desestimeis nunca la ayuda de Flash, pues es realmente buena.
Para utilizar los eventos podemos usarlos configurando las acciones en el mismo componente, al igual que podemos hacer con los clips de película o los botones. Por ejemplo, arrastra un componente Button a tu escena y escribe sobre el las siguientes acciones:
on (click) {
trace("Me has pulsado!!");
}
Ahora bien, esto no nos servirá para todo lo que podemos hacer, ya que si nosotros queremos adjuntar dinámicamente un componente Button, y queremos agregarle las acciones al fotograma 1, nos daremos cuenta de que no podremos llamar a los eventos como si fuese un clip de película o un botón:
_root.attachMovie("Button", "boton_comp", 1);
boton_comp.click = function() {
trace("Me has pulsado!!");
};
¿Porqué no funciona esto? Los componentes de Flash MX 2004 están programados en ActionScript 2.0 usando la versión 2 de la Arquitectura de Componentes Macromedia, a los cuales se les ha llamado Componentes V2. Cada componente es una clase y cada clase está dentro de un paquete de código ActionScript, por ejemplo, RadioButton es una instancia de la clase RadioButton que tiene su paquete ActionScript en mx.controls. A la vez cada Componente es una subclase de la clase UIObject y de UIComponent heredando todos sus métodos, propiedades y eventos.
Y todo esto nos lleva a los listeners. Como decíamos antes los Componentes V2 nos dan una gran potencia para trabajar ya que podemos usar métodos y eventos que realmente ellos no poseen, pero que heredan de clases superiores (UIObject por ejemplo).
Para usar un listener lo que tenemos que hacer es crear un objeto y asignarle el evento onClick. Luego con nuestro componente sólo tendremos que escuchar a ese objeto y ya tendremos programado nuestro evento:
attachMovie("Button", "boton_comp", 1);
al_clicar = new Object();
al_clicar.click = function() {
trace("Me has pulsado!!");
};
boton_comp.addEventListener("click", al_clicar);
¡¡De esta manera si funciona!!
Usuarios que han visto este tema también han visto...
- Efecto gotas de lluvia en el agua Flash 8
- Comentarios en el codigo Flash
- Strict Data Typing en ActionScript
- Television Estatica en Flash
- Descubrir imagen con mascara de contorno en Flash
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.