quarta-feira, 22 de abril de 2009

A Classe Timer AS3

Na versão anterior do ActionScript, havia dois jeitos diferentes para acionar eventos baseados em tempo.As funções setInterval() e a setTimeout() foram as duas funções mais usadas para chamar uma função após um determinado período de tempo. No ActionScript 3(AS3), temos agora uma classe no pacote flash.utils . Esta categoria inclui todas as funcionalidades que você precisa para aplicações baseadas em tempo. Para utilizar a classe, primeiro você deve importar o pacote flash.utils , uso no exemplo a seguir. O "Timer construtor" espera um argumento que representa o atraso desejado em milissegundos. Um segundo argumento opcional determina o número de vezes para chamar a função. O padrão para este valor é 0, o que significa que ele irá chamar a função infinitamente.



No exemplo abaixo estou criando um temporizador que irá disparar duas vezes por segundo. Na minha aplicação abaixo estou simplesmente fazendo um trace () para o "output panel" mostrando quantas vezes ela disparou. Para obter este valor estou lendo a propriedade Timer.currentCount .

Chega de papo e vamos direto ao AS3.

//precisamos importar o pacote flash.utils
import flash.utils.*;

//criando um objeto new Timer com delay de 500ms
var meuTempo:Timer = new Timer(500);
meuTempo.addEventListener("timer", FuncaoDoTimer);

// iniciando o Timer
meuTempo.start();

//funcao será chamada a cada 500ms
function FuncaoDoTimer(e:TimerEvent){
trace("Timer chamado " + meuTempo.currentCount + " veses.");
}

4 comentários:

Thiago Torres disse...

Olá, sabe me dizer se é possível carregar o valor da duração do atraso de um arquivo XML ? Estou tentando fazer isto e ele não reconhece...

Lucas Barbieri disse...
Este comentário foi removido pelo autor.
Michel Martins disse...

Me ajudou muito. Obrigado. =)

Anônimo disse...

"Veses" se escreve com z