/* Fabricio C Zuardi VII Semana da ComputaŤ‹o ICMC - USP, Sao Carlos 19 de Outubro de 2004 */ VELO = 5; MOVIEWIDTH = Stage.width; MOVIEHEIGHT = Stage.height; nave_mc.energia = 100; nave_mc.vidas = 3; nave_mc.vulneravel = true; ast_cont = 0; intervalo = setInterval(mandaAsteroide,1000); //TODO: clear no gameover function mandaAsteroide(){ ast_mc.duplicateMovieClip("ast_"+ast_cont,ast_cont); _root["ast_"+ast_cont].onEnterFrame = moveAsteroide; _root["ast_"+ast_cont].vx = 20; _root["ast_"+ast_cont]._y = random(MOVIEHEIGHT) _root["ast_"+ast_cont].gotoAndStop(random(ast_mc._totalframes)+1) ast_cont++; } function moveAsteroide():Void{ this._x -= this.vx; if(this._x < 0){ this._x = MOVIEWIDTH; this._y = random(MOVIEHEIGHT) this.gotoAndStop(random(this._totalframes)+1) this.removeMovieClip() } if((this.hitTest(nave_mc))&&(nave_mc.vulneravel)){ nave_mc.energia -= 30; if(nave_mc.energia <=0){ //morreu nave_mc.vidas --; nave_mc.vulneravel = false; nave_mc.gotoAndStop("explosao") vidas_mc.gotoAndStop(4-nave_mc.vidas); nave_mc.energia =100; if(nave_mc.vidas<0){ gotoAndStop("gameover") } } energy_mc.bar_mc._xscale = nave_mc.energia this.removeMovieClip() } } function fimExplosao(){ nave_mc.gotoAndStop("reentrada") } function fimReentrada(){ nave_mc.vulneravel = true nave_mc.gotoAndStop(1) } nave_mc.onKeyDown = function(){ if(Key.getCode() == Key.UP){ nave_mc.vy = -VELO; } if(Key.getCode() == Key.DOWN){ nave_mc.vy = +VELO; } if(Key.getCode() == Key.LEFT){ nave_mc.vx = -VELO; } if(Key.getCode() == Key.RIGHT){ nave_mc.vx = +VELO; } if(Key.getCode() == Key.SPACE){ mandaAsteroide(); } } nave_mc.onKeyUp = function(){ if(Key.getCode() == Key.UP){ nave_mc.vy = 0; } if(Key.getCode() == Key.DOWN){ nave_mc.vy = 0; } if(Key.getCode() == Key.LEFT){ nave_mc.vx = 0; } if(Key.getCode() == Key.RIGHT){ nave_mc.vx = 0; } } Key.addListener(nave_mc); nave_mc.onEnterFrame = function(){ this._y += this.vy; this._x += this.vx; }