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.