Tutorial 9 - Creación de un juego (I)
Paso 25 de 26
La función, que recibe un parámetro con el nombre del fotograma, tendrá esta definición:
function gameOver(frameLabel:String):void
{
spacecraft_mc.removeEventListener(KeyboardEvent.KEY_DOWN, arrows);
spacecraft_mc.removeEventListener(Event.ENTER_FRAME, moveSpacecraft);
gotoAndStop(frameLabel);
replay_btn.addEventListener(MouseEvent.CLICK, replay);
}
Como vemos, al parámetro que recibe la función le hemos llamado frameLabel, y a la sentencia gotoAndStop le indicamos que vaya a un fotograma con el valor del parámetro recibido (en nuestro caso los valores recibidos son "win" o "lose").
La función replay, que será llamada cuando pulsemos el botón replay_btn, tan sólo indicará que volvamos al fotograma inicial:
function replay(e:MouseEvent):void
{
gotoAndStop("start");
}
Resumiendo la programación creada en la primera parte del juego, tenemos en primer lugar un stop y la creación de las variables course y speed.
Después añadimos un listener al botón start_btn.
Por último tenemos creadas cinco funciones, que serán llamadas en diferentes momentos. Las funciones que hemos creado son:
playGame, que activa el movimiento de la nave.arrows, que rota la nave e indica la dirección del movimiento.moveSpacecraft, que desplaza la nave y evalúa si ha llegado al planeta o ha salido fuera del escenario.gameOver, que borra los listeners, va a la pantalla final y prepara el botón para volver a jugar.replay, que va al fotograma inicial del juego.
En el siguiente tutorial añadiremos complejidad al juego añadiendo obstáculos que se moverán de forma aleatoria por el escenario.