Noções básicas sobre a manipulação de eventosFlash Player 9 e posterior, Adobe AIR 1.0 e posterior Pense nos eventos como ocorrências de qualquer tipo no arquivo SWF que interessam a você como programador. Por exemplo, a maioria dos arquivos SWF oferece suporte a algum tipo de interação do usuário - seja algo simples, como responder ao clique do mouse, ou algo mais complexo, como aceitar e processar dados inseridos em um formulário. Toda interação do usuário com seu arquivo SWF é considerada um evento. Os eventos também podem ocorrer sem nenhuma interação direta do usuário, como quando os dados terminam de ser carregados a partir de um servidor ou quando uma câmera acoplada é ativada. No ActionScript 3.0, cada evento é representado por um objeto, que é uma ocorrência da classe Event ou uma de suas subclasses. O objeto de evento não apenas armazena informações sobre um evento específico, mas também contém métodos que facilitam o tratamento do objeto de evento. Por exemplo, quando detecta um clique do mouse, o Flash Player ou o AIR cria um objeto de evento (uma ocorrência da classe MouseEvent) para representar esse evento específico de clique do mouse. Depois de criar um objeto de evento, o Flash Player ou o AIR o envia, ou seja, o objeto de evento é transmitido para o objeto que é destino do evento. O objeto que é o destino de um objeto de evento enviado é chamado de destino do evento. Por exemplo, quando uma câmera acoplada é ativada, o Flash Player envia um objeto de evento diretamente ao destino que, nesse caso, é o objeto que representa a câmera. No entanto, se o destino do evento estiver na lista de exibição, o objeto será transmitido pela hierarquia da lista de exibição até atingir o destino do evento. Em alguns casos, o objeto de evento forma "bolhas" na hierarquia da lista de exibição ao longo da mesma rota. Essa profundidade da hierarquia da lista de exibição é chamada de fluxo de evento. Você pode “ouvir” objetos de evento no seu código usando ouvintes de evento. Ouvintes de evento são as funções ou os métodos gravados para responder a eventos específicos. Para garantir que seu programa responda a eventos, adicione ouvintes ao destino do evento ou a qualquer objeto da lista de exibição que faça parte do fluxo de um objeto de evento. Sempre que é gravado, o código do ouvinte de evento segue essa estrutura básica (os elementos em negrito são alocadores de espaço preenchidos de acordo com suas necessidades): function eventResponse(eventObject:EventType):void { // Actions performed in response to the event go here. } eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse); Esse código faz duas coisas. Primeiro, ele define uma função, que é a maneira de especificar as ações que serão executadas em resposta ao evento. Em seguida, o método addEventListener() do objeto de origem é chamado, basicamente “inscrevendo” a função do evento especificado para que, quando o evento acontecer, as ações da função sejam executadas. Quando o evento realmente acontece, o destino do evento verifica a lista de todos os métodos e funções registrados como ouvintes de evento. Em seguida, ele chama um por um, passando o objeto de evento como parâmetro. Para criar seu próprio ouvinte de evento, é necessário alterar quatro coisas nesse código. Primeiro, você deve dar à função o nome que deseja usar (essa alteração deve ser feita em dois lugares, onde aparece eventResponse no código). Segundo, você deve especificar o nome de classe adequado do objeto que é enviado pelo evento que deseja ouvir (EventType no código) e também deve especificar a constante correta para o evento em questão (EVENT_NAME na listagem). Terceiro, você deve chamar o método addEventListener() no objeto que enviará o evento (eventTarget neste código). Se desejar, altere o nome da variável usada como parâmetro da função (eventObject neste código). Conceitos e termos importantesA lista a seguir de referência contém termos importantes que você vai encontrar ao escrever rotinas de tratamento de eventos:
|
![]() |