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

Pas 8 de 22

Per tant, per crear la quantitat de mines que hàgim indicat en la variable numMines, la funció putMines quedarà com s’indica a continuació:

function putMines():void
{
    var mine:Mine;
    for (var i:Number = 0; i < numMines; i++) 
    {
        mine = new Mine;
        mine.x = Math.random() * 550;
        mine.y = Math.random() * 400;
        stage.addChild(mine);
    }
}

Si ara provem la pel·lícula, podem comprovar que apareixen 10 mines en l'escenari.

Totes les mines fan la seva animació alhora. Podem fer que cada mina comenci l'animació en un fotograma diferent, i que porti el seu cap lector a un fotograma aleatori entre l'1 i el 60, que és el nombre de fotogrames que té l'animació.

Per tant, aquesta vegada necessitem generar un nombre aleatori entre 1 i 60. En aquest cas el nombre tornat ha de ser enter.

Si utilitzem Math.random() * 60 obtindrem nombres decimals entre 0 i 60. Per a assegurar-nos que el nombre resultant sigui un enter comprès entre 1 i 60 podem utilitzar el mètode ceil, que arrodoneix a l'alça un nombre decimal.

Per tant, dins del bucle for, després d'haver determinat una posició aleatòria per a cada mina i abans d'afegir la mina a l'escenari, escriurem la instrucció:

mine.gotoAndPlay(Math.ceil(Math.random() * 60));

Tornem a provar la pel·lícula. Ara, en començar el joc, es creen 10 còpies de la mina, i cada una comença l’animació en moments diferents.