Archive | julho, 2010

Utilizando a Classe Timer no ActionScript 3.0

Uma coisa muito legal no ActionScript 3.0 é a classe Timer (flash.utils.Timer). Esta nova classe substitui os antigos métodos setInterval() e setTimeout() e claro, inclui novas funcionalidades.  Por exemplo no ActionScript 2.0 você teria algo como:

//-- ActionScript 2.0
var segundos : Number = setTimeout(rodaUmaVez, 1000); // 1 segundo

function rodaUmaVez():void
{
trace("rodei uma vez...");
}

No entanto no ActionScript 3.0 com a nova classe Timer a mesma idéia acima
fica:


//-- ActionScript 3.0
var segundos : Timer = new Timer(1000, 1); // 1 segundo

segundos.addEventListener(TimerEvent.TIMER, rodaUmaVez);

segundos.start();

function rodaUmaVez(event:TimerEvent):void
{
 trace("rodei uma vez...");
}

Ao instanciar o novo objeto timer você passa dois parâmetros. O primeiro é a frequência com que será executado, neste caso é 1000 milisegundos que é 1 segundo. E no segundo parâmetro é a quantidade de vezes, se você colocar 1 vai rodar apenas uma vez e pronto. Caso você queira rodar infinito pode informar 0 ou não colocar o segundo parâmetro e pronto. Outra coisa nesta nova classe é que o TimerEvent.TIMER, a cada milisegundo e e a cada número de vezes que foi informado no construtor ele executa a função que você informar no método addEventListener da classe Timer.

Posted in ActionScript, FlashComments (0)

Gerar Números Randômicos com ActionScript3

Fique umas duas semanas longe das minhas atividades da Internet por causa do final de semestre na faculdade. Vou começar a postar umas dicas e outras coisas aqui no blog que venho aprendendo. Indo ao que interessa vamos ver como gerar números randômicos no ActionScript3. Fazendo meus testes com o Papervision 3D precisei gerar números aleatórios, e que podem repetir. É bem simples o processo confira:


var valorMaximo        : Number = 50;
 var ValorMinimo         : Number = 0;

resultado = Math.floor(Math.random() * (valorMaximo - ValorMinimo)) + ValorMinimo;

trace(String(resultado) );

Favor deixar um comentário se houver dúvidas.

Posted in ActionScriptComments (0)