Games em ActionScript 3.0 } Fim da função removeListeners. } Fim da classe pública inimigoClasse. } Fim do package. A classe pode ser um pouco difícil de entender a princípio, mas com a prática em classes deste tipo as coisas vão ficando mais claras. Agora precisamos instanciar a classe no código da nossa linha do tempo (quadro 1). Na parte que separamos para a variável, colocaremos esta nova variável: var tempoDaNave:Timer = new Timer(1500); É bem semelhante à variável Time do tiro, então dispensa apresentações. Agora adicionaremos mais uma linha aos ouvintes: tempoDaNave.addEventListener(TimerEvent.TIMER, criaInimigo); E adicionaremos estas linhas ao final do código: tempoDaNave.start(); function criaInimigo(event:Event){ var novoInimigo:MovieClip = new inimigoClasse(); novoInimigo.x = Math.random() * stage.stageWidth; addChild(novoInimigo); }
Vamos então entender esta última função. tempoDaNave.start(); Estamos utilizando um método pronto do ActionScript 3.0 que irá iniciar a contagem do tempo. function criaInimigo(event:Event){ Início da função criaInimigo. var novoInimigo:MovieClip = new inimigoClasse(); Criamos uma variável para utilizarmos a classe do inimigo. Note que agora a instanciamos como MovieClip, pois definimos isso no arquivo da classe. novoInimigo.x = Math.random() * stage.stageWidth; A posição x de cada novo inimigo é calculada pelo método Math.random, que serve para fazer cálculos matemáticos aleatórios complexos. Neste caso o Math.random calcula que as naves devem ser criadas no espaço do stage.stageWidth, ou seja, leva em consideração a largura do palco, não importando qual ela seja. Fizemos isso para que o código fique dinâmico, mas nada impede que você coloque um valor fixo. Experimento trocar stage.stageWidth por 100 e veja o que acontece. addChild(novoInimigo); Adicionamos o novo inimigo. } Fim da função criaInimigo.
66