Tutorial 10 - Creación de un juego (II)

Paso 8 de 22

Por lo tanto, para crear la cantidad de minas que hayamos indicado en la variable numMines, la función putMines quedará como sigue:

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 probamos ahora la película, podemos comprobar que aparecen 10 minas en el escenario.

Todas las minas realizan su animación al mismo tiempo. Podemos hacer que cada mina comience su animación en un fotograma diferente, llevando su cabeza lectora a un fotograma aleatorio entre el 1 y el 60, que es el número de fotogramas que tiene la animación.

Esta vez necesitamos por tanto generar un número aleatorio entre 1 y 60. El número devuelto tiene en este caso que ser entero.

Si utilizamos Math.random() * 60 obtendremos números decimales entre 0 y 60. Para asegurarnos de que el número resultante sea un entero comprendido entre 1 y 60 podemos utilizar el método ceil, que redondea al alza un número decimal.

Por lo tanto, dentro del bucle for, después de haber determinado una posición aleatoria para cada mina y antes de añadir la mina al escenario, escribiremos la instrucción:

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

Probamos de nuevo la película. Ahora, al comenzar el juego, se crean 10 copias de la mina, comenzando la animación de cada una de ellas en momentos diferentes.