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.