Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //21092012
- import flash.events.Event;
- import flash.events.TimerEvent;
- import flash.utils.Timer;
- addEventListener(Event.ENTER_FRAME,loop);
- stage.addEventListener(KeyboardEvent.KEY_DOWN,teclado);
- // declara variaveis globais
- var balas:Array = new Array();
- var bala:Bala = new Bala();
- // bala = objeto
- // balas = vetor que contém as balas
- var inimigos:Array = new Array();
- var inimigo:Inimigo = new Inimigo();
- // quadrado = objeto
- // quadrados = vetor que contem os quadrados
- var estrelas:Array = new Array();
- var estrela:Estrela = new Estrela();
- var timerInimigo:Timer = new Timer(1500);
- var timerEstrelas:Timer = new Timer(10);
- timerInimigo.addEventListener(TimerEvent.TIMER,instanciaInimigos);
- timerInimigo.start();
- timerEstrelas.addEventListener(TimerEvent.TIMER,instanciaEstrelas);
- timerEstrelas.start();
- var minNum:Number = 1;
- var maxNum:Number = 5;
- function instanciaInimigos(evt:TimerEvent){
- inimigo = new Inimigo();
- inimigo.x = Math.random() * stage.stageWidth;
- inimigo.y = 5;
- addChild(inimigo);
- inimigos.push(inimigo);
- }
- // ESCALA ALEATORIA
- function randomScale(minNum:Number,maxNum:Number){
- return(Math.floor(Math.random()* 6));
- }
- function instanciaEstrelas(evt:TimerEvent){
- estrela.scaleY = randomScale(minNum,maxNum); // Escala da Estrela
- estrela = new Estrela();
- estrela.x = Math.random() * stage.stageWidth;
- estrela.y = 0;
- addChild(estrela);
- estrelas.push(estrela);
- for (var e:int = 0; e < estrelas.length; e++){
- estrelas[e].y+=15;
- }
- }
- // FUNCAO ALTERADA 17/09/12 - CONSERTADA PELO PROFESSOR DALTON
- function loop(evt:Event):void{
- if (nave.x < 0){
- nave.x = 0;
- }
- if (nave.x > 550){
- nave.x = 550;
- }
- if (nave.y > 400){
- nave.y = 400;
- }
- if (nave.y < 50){
- nave.y = 50;
- }
- // Desloca Bala
- for (var k:int = 0; k < balas.length; k++){
- balas[k].y -= 10;
- }
- // Desloca e Testa Quadrado
- for (var j:int = 0; j < inimigos.length; j++){
- inimigos[j].y += 4;
- // Testa Bala
- // SOLUÇÃO ALTERNATIVA: if (j==0) {balas[i].y-=10}
- for (var i:int = 0; i < balas.length; i++){
- if (balas[i].hitTestObject(inimigos[j])){
- removeChild(inimigos[j]);
- inimigos.splice(j,1);
- removeChild(balas[i]);
- balas.splice(i,1);
- trace("EXPLODE");
- break;
- }
- else if (balas[i].y < 0){
- removeChild(balas[i]); // REMOVE OS QUADRADOS DESNECESSARIOS
- balas.splice(i,1); // Remove apenas 1 objeto do vetor. Se fosse o caso de
- break; // remover 2 objetos (o objeto x e o próximo no vetor)
- // seria feito balas.splice(i,2)]
- }
- }
- if (nave.hitTestObject(inimigos[j])){
- trace("COLIDIU");
- removeChild(nave);
- break;
- }
- }
- }
- function teclado(evt:KeyboardEvent):void{
- switch(evt.keyCode) {
- case Keyboard.LEFT:
- nave.x-=20;
- break;
- case Keyboard.RIGHT:
- nave.x+=20;
- break;
- case Keyboard.UP:
- nave.y-=20;
- break;
- case Keyboard.DOWN:
- nave.y+=20;
- break;
- case Keyboard.SPACE:
- bala = new Bala();
- bala.x = nave.x;
- bala.y = nave.y;
- addChild(bala);
- balas.push(bala);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment