Arquivo para a categoria 'ActionScript 3'

Novo tutorial

Olá pessoal.

Acabei de publicar mais um tutorial para o portal do MXStudio. Dessa vez mostro como criar um Formulário de contato usando o Flash e o PHP. Não deixem de conferir.

http://www.mxstudio.com.br/flash/formulario-e-mail-flashphp/

Qualquer dúvida podem me enviar um E-mail ou postar no Fórum do MXStudio.

[]s

Novo Tutorial

Olá pessoal. Começo 2008 postando um novo tutorial no portal do MXStudio.

http://www.mxstudio.com.br/views.tutorial.php?act=view&cid=3&aid=1158

Nesse tutorial mostro como criar uma Galeria de Imagens com XML usando o ActionScript 3. Esse é o primeiro dos vários tutoriais que irei fazer voltado ao ActionScript 3, é claro que continuarei falando sobre o ActionScript 2, mas conforme o tempo for passando meus tutoriais só serão voltados ao ActionScript 3.

Qualquer dúvida podem me mandar um E-mail ou postar no tópico que criei no Fórum de Flash do MXStudio.

 http://www.mxstudio.com.br/forum/index.php?showtopic=54336

[]s

ReleaseOutside no AS3

Em um dos meus tutoriais sobre o Flash CS3, mostro que os eventos do ActionScript 3 é diferente dos eventos do ActionScript 2. 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 (palco) */
   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 onReleaseOutside */
      /* Remove o Listener */
      stage.removeEventListener(MouseEvent.MOUSE_UP, btRelease);
      trace("onReleaseOutside");
   } else {
      /* Sua ação relativa ao evento onRelease */
      /* Remove o Listener */
      stage.removeEventListener(MouseEvent.MOUSE_UP, btRelease);
      trace("onRelease");
   }
}

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.

Teste seu filme e vejam que agora temos um evento onReleaseOutside em ActionScript 3. Nesse exemplo mostra a real vantagem de se usar Listener em nossos Eventos, em uma função podemos usar para vários MovieClips e botões, mas isso é assunto para uma outra dica.

Qualquer dúvida é só falar.

[]s