Análisis del proceso de gestión de eventos

A continuación se ofrece una descripción paso a paso del proceso que tiene lugar cuando se crea un detector de eventos. En este caso, es un ejemplo de creación de función de detector a la que se llama cuando se hace clic en un objeto denominado myButton.

El código escrito por el programador es el siguiente:

function eventResponse(event:MouseEvent):void
{
    // Actions performed in response to the event go here.
}

myButton.addEventListener(MouseEvent.CLICK, eventResponse);

Al ejecutarse en Flash Player, el código funcionaría de la manera siguiente:

  1. Cuando se carga el archivo SWF, Flash Player detecta que existe una función denominada eventResponse().


    Representación de Flash Player descubriendo una función denominada "eventResponse()"

  2. A continuación, Flash Player ejecuta el código (específicamente, las líneas de código que no están en una función). En este caso, sólo una línea de código que llama al método addEventListener() en el objeto de origen de evento (denominado myButton) y pasa la función eventResponse como parámetro.


    Representación de Flash Player llamando al método addEventListener() del objeto myButton y suscribiendo eventResponse() como detector.

    1. Internamente, myButton tiene una lista de funciones que detecta cada uno de sus eventos, por lo que cuando se llama a su método addEventListener(), myButton almacena la función eventResponse() en su lista de detectores de eventos.


      Representación de Flash Player almacenando eventResponse() en la lista interna de detectores de myButton

  3. Cuando el usuario hace clic en el objeto myButton, se activa el evento click (identificado como MouseEvent.CLICK en el código).


    Representación del cursor del mouse haciendo clic en el botón myButton

    En este punto ocurre lo siguiente:

    1. Flash Player crea un objeto, una instancia de la clase asociada con el evento en cuestión (MouseEvent en este ejemplo). Para muchos eventos esto será una instancia de la clase Event, para eventos del ratón será una instancia de MouseEvent y para otros eventos será una instancia de la clase asociada con el evento. Este objeto que se crea se denomina objeto de evento y contiene información específica sobre el evento que se ha producido: el tipo de evento, dónde se ha producido y otros datos específicos del evento si corresponde.


      Representación de Flash Player creando un nuevo objeto "eventObject"

    2. A continuación, Flash Player busca en la lista de detectores de eventos almacenada en myButton. Recorre estas funciones de una en una, llamando a cada función y pasando el objeto de evento a la función como parámetro. Como la función eventResponse() es uno de los detectores de myButton, como parte de este proceso Flash Player llama a la función eventResponse().


      Representación de Flash Player (específicamente, myButton) llamando a la función eventResponse() y pasándole una referencia a eventObject como parámetro

    3. Cuando se llama a la función eventResponse(), se ejecuta el código de la función para realizar las acciones especificadas.


      Representación de Flash Player realizando las acciones contenidas en la función "eventResponse()"


Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000022.html