Flash AS2 04: Eventos

1. Eventos

Vimos na aula passada que objetos têm propriedades. Fizemos um aplicativo que altera a opacidade de um desenho conforme o valor digitado numa caixa de texto. Para isso, usamos o seguinte código no botão:

botao.onRelease = function() {
  cara._alpha = valor.text;
}

Para fazer o aplicativo funcionar, fizemos a propriedade alpha de um objeto adquirir o valor de uma propriedade text de um input text.

2. Comandos disparados por eventos em botões

Mas o que exatamente significa on (release)? Bem, release é um evento da interação entre o mouse e um botão. On release significa “ao soltar”, isto é, quando soltarmos o botão do mouse sobre o botão que fizemos no Flash, o comando seguinte deverá ser aplicado. Mas existem outros eventos? Claro.

Evento Significado
onRelease ao soltar o botão do mouse sobre o botão do Flash
onPress ao pressionar o botão do mouse sobre o botão do Flash
onRollOver ao fazer o cursor do mouse entrar na área do botão do Flash
onRollOut ao fazer o cursor do mouse sair da área do botão do Flash

Podemos, por exemplo, controlar o movimento de uma animação de acordo com um evento de botão. Veja:

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

O código usado no botão foi:

stop();

botao.onRelease= function() {
  play();
}

Experimente agora usar outros eventos, conforme a tabela acima.

3. Um código disparado por mais de um evento

Você vai perceber que existe uma relação entre evento, código e instância do botão. Você pode vincular eventos diferentes com o mesmo código. Como por exemplo, a release e a rollOut:

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Tanto faz você clicar e soltar no botão ou retirar o cursor do botão: os dois eventos disparam a animação. Veja o código:

stop();
botao.onRelease = function() {
  play();
};
botao.onRollOut = function() {
  play();
};

 4. Eventos diferentes disparando comandos diferentes

Você pode também vincular códigos diferentes à eventos diferentes de uma mesma instância de um botão. Deslizar o cursor sobre o botão dispara a animação. Tirar o cursor de cima do botão, faz a animação parar.  

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

O código:

stop();
botao.onRollOver = function() {
  play();
};
botao.onRollOut = function() {
  stop();
};

5. Video