Tutorial 10 - Creació d'un joc (II)

Pas 6 de 22

Definirem una funció nova que anomenarem putMines.

function putMines():void
{
    var mine:Mine;
    mine = new Mine;
    mine.x = 275;
    mine.y = 200;
    stage.addChild(mine);
}

En la primera línia d'aquesta funció, definim que mine és un objecte de la classe Mine. Després creem una instància d'aquesta classe, que serà una còpia nova del clip que tenim en la biblioteca. Després d'aquesta definició, ja podem fer referència a la nova instància que hem creat.

En les línies següents, definim que la posició de l'objecte sigui el centre de l'escenari (x:275 i y:200). Finalment, afegim aquest objecte a l'escenari (stage) amb el mètode addChild.

Perquè aquesta funció s'executi, en algun moment l’hem de cridar amb la instrucció putMines();. Escriurem aquesta instrucció dins de la funció playGame, ja que serà el moment en què volem que s'afegeixin les mines a l'escenari.

Si provem la pel·lícula, comprovarem que en prémer el botó start (que crida la funció playGame, que al seu torn crida la funció putMines), apareix una mina en el centre de l’escenari.

Perquè la posició en la qual apareix la mina sigui aleatòria, utilitzarem el mètode random de la classe Math.

Math.random() torna un nombre aleatori comprès entre 0 i 1. Si multipliquem aquest valor aleatori per 550 (l'amplada de l'escenari), el nombre que tornarà estarà comprès entre 0 i 550.

Per tant, per a crear una posició aleatòria de la mina dins de l'escenari, que mesura 550 x 400, les línies que determinen la posició del clip dins de la funció putMines quedaran com s’indica a continuació:

mine.x = Math.random() * 550; 
mine.y = Math.random() * 400;

La posició x del clip serà un nombre comprès entre 0 i 550, mentre que la posició y serà un nombre comprès entre 0 i 400. Cada vegada que s'executi la funció Math.random(), el nombre tornat serà diferent.