/* Fabricio C Zuardi VII Semana da ComputaŤ‹o ICMC - USP, Sao Carlos 19 de Outubro de 2004 */ //Constantes ALTURA = Stage.height; LARGURA = Stage.width; VNAVE = 15; //-----NAVE------\\ //Valores iniciais nave_mc.energia = 100; nave_mc.vx = 0; nave_mc.vy = 0; // vy: velocidade horizontal // vx: velocidade vertical nave_mc.onKeyDown = function(){ if(Key.getCode() == Key.UP){ nave_mc.vy = -VNAVE; } if(Key.getCode() == Key.DOWN){ nave_mc.vy = +VNAVE; } if(Key.getCode() == Key.LEFT){ nave_mc.vx = -VNAVE; } if(Key.getCode() == Key.RIGHT){ nave_mc.vx = +VNAVE; } } nave_mc.onKeyUp = function(){ if((Key.getCode() == Key.UP)||(Key.getCode() == Key.DOWN)){ nave_mc.vy = 0; } if((Key.getCode() == Key.LEFT)||(Key.getCode() == Key.RIGHT)){ nave_mc.vx = 0; } } // registra o nave_mc como listener do teclado Key.addListener(nave_mc); //atualiza posicao da nave a cada enterframe baseado nas velocidades atuais nave_mc.onEnterFrame = function (){ this._x += this.vx; this._y += this.vy; } //---ASTEROIDE---\\ ast_mc.vx = 20; function moveAsteroide(){ this._x -= this.vx; //se colidiu if((this.hitTest(nave_mc))&&(this._visible)){ //danifica a nave nave_mc.energia -= 10; //atualiza o display energia_txt.text = nave_mc.energia; //some com o asteroide this._visible = false; } //se saiu da tela if(this._x<0){ //volta para a direita da tela this._x = LARGURA; //y valor aleatorio entre 0 a ALTURA ast_mc._y = Math.random()*ALTURA; this._visible = true //sorteia um dos tipos this.gotoAndStop(1+Math.round(Math.random()*this._totalframes)) } } ast_mc.onEnterFrame = moveAsteroide;