Tutorial 9 - Creació d'un joc (I)

Pas 25 de 26

La funció, que rep un paràmetre amb el nom del fotograma, tindrà aquesta definició:

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 veiem, el paràmetre que rep la funció l'hem anomenat frameLabel, i a la sentència gotoAndStop li indiquem que vagi a un fotograma amb el valor del paràmetre rebut (en el nostre cas, els valors rebuts són "win" o "lose").

La funció replay, que es cridarà quan premem el botó replay_btn, només indicarà que tornem al fotograma inicial:

function replay(e:MouseEvent):void
{
    gotoAndStop("start");
}

Resumint la programació creada en la primera part del joc, tenim en primer lloc un stop i la creació de les variables course i speed.

Després afegim un listener al botó start_btn.

Per acabar, tenim creades cinc funcions, que es cridaran en diferents moments. Les funcions que hem creat són:

  • playGame, activa el moviment de la nau.
  • arrows, fa girar la nau i indica la direcció del moviment.
  • moveSpacecraft, desplaça la nau i avalua si ha arribat al planeta o ha sortit fora de l'escenari.
  • gameOver, esborra els listeners, va a la pantalla final i prepara el botó per tonar a jugar.
  • replay, va al fotograma inicial del joc.

En el tutorial següent afegirem complexitat al joc afegint obstacles que es mouran de manera aleatòria per l'escenari.