Ação nos Botões com o Action Script 3, e agora…
Postado por Andreo Costa | Categoria: Artigos | Postado em 29-11-2009
3
Para quem está vendo por agora as mudanças no AS3 para o AS2 do Adobe Flash, vai precisar conhecer as novidades no que diz respeito às ações dos botões.
Não existe mais o onPress, onRelease, onRollOver, onRollOut, etc. Todos os eventos relacionados a Mouse está na Classe MouseEvent.
Mas a maior mudança foi a não inclusão de um evento para substituir o onReleaseOutside, felizmente existe uma solução para esse problema. Criaremos um MovieClip com instancia de botao, colocaremos a seguinte ação:
/* Adicionamos o envento relativo ao onPress no botao */ botao.addEventListener(MouseEvent.MOUSE_DOWN, btPress); /* Função relativo ao onPress */ function btPress(event:MouseEvent):void { /* Adicionamos o evento relativo ao onRelease no stage */ stage.addEventListener(MouseEvent.MOUSE_UP, btRelease); trace("onPress"); } /* Função relativa ao onRelease */ function btRelease(event:MouseEvent):void { /* Verifica se o alvo é realmente o botão */ if (event.target.name == "botao") { /* Sua ação relativa ao evento onRelease */ /* Remove o Listener */ stage.removeEventListener(MouseEvent.MOUSE_UP, btRelease); trace("onRelease"); } else { /* Sua ação relativa ao evento onReleaseOutside */ /* Remove o Listener */ stage.removeEventListener(MouseEvent.MOUSE_UP, btRelease); trace("onReleaseOutside"); } }
Deixa eu explicar o código. Primeiro adicionamos um Listener ao nosso botão criado. O listener vai ser acionado quando clicarmos com o botão esquerdo do Mouse. Ao clicar, a função btPress é acionada.
Na função btPress, adiciono um outro Listener, dessa vez em nosso palco (stage). O listener vai ser acionado quando soltarmos o botão esquerdo do Mouse. Ao soltar, a função btRelease é acionada.
Na função btRelease, verificamos se o alvo (target) é o nosso botão, se for, removemos o listener do palco para que não fique sendo acionado quando não deve e usamos nossa ação referente ao onRelease. Se o alvo não for nosso botão, removemos o Listener do palco e usamos nossa ação referente ao onReleaseOutside.
Dentro da função que você escolher, coloque o código de link:
var link:URLRequest = new URLRequest( “http://www.eternia.com.br” );
navigateToURL( link );
Assim, você insere o link desejado.


