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: [as3] //-- ActionScript 2.0 var segundos : Number = setTimeout(rodaUmaVez, 1000); // 1 segundo function rodaUmaVez():void { trace("rodei uma vez..."); } [/as3] No entanto no ActionScript 3.0 com a nova classe Timer a mesma idéia acima fica: [as3] //-- 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..."); } [/as3] 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.
  • Gonçalo Louro

    URGENTE: ajuda para um jogo em ActionScript 3.0 Portugal 🙁

    Boa tarde,

    Meu nome é Gonçalo, e estudo em Portugal num curso de Informatica.
    Uma das disciplinas, é fazer um jogo em flash + ActionScript 3.0 com XML.

    De uma forma urgente eu preciso de ajuda num seguinte ponto, o meu jogo
    é um “SpaceShooter”, sou eu o jogador principal a disparar contra 2 ou 3 inimigos para os destruir e agora eu queria colocar um inimigo que quando aparece no jogo
    começar a disparar automaticamente contra mim. Pergunto, como se faz isso em ActionScript 3.0, ou seja uma nave inimiga a disparar automaticamente contra minha nave? Relembro, eu nao quero um disparo inimigo com rato ou do teclado, mas sim de uma forma automatica!

    No mesmo sentido, tenho a ideia de o disparo ir para onde eu vou, para criar mais
    dificuldades e eu ter de conseguir desviar-me dos tiros.

    Por favor, ajudem-me é urgente !!!!! o prazo para entregar o trabalho esta quase a chegar. Se é para usar um temporizador, como faço tudo?!

    Quem me conseguir ajudar, coloque um bom exemplo de código, se andarmos
    a trocar conversa sem dados concretos nunca mais faço isto.

    Muito muito obrigado a quem me ajudar !!!!

    Ainda ha uma 2ª parte dos meus problemas…. é para se colocar
    a interagir com um ficheiro XML por causa do niveis. Sim o jogo
    é para ter 2 niveis.

    abraço

    Gonçalo