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

Paso 6 de 22

Vamos a definir una nueva función a la que llamaremos putMines.

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

En la primera línea de esta función, definimos que mine es un objeto de la clase Mine. Después creamos una instancia de esa clase, que será una nueva copia del clip que tenemos en la biblioteca. Después de esta definición, ya podemos hacer referencia al nuevo objeto instanciado.

En las siguientes líneas, definimos que la posición del objeto sea el centro del escenario (x:275 e y:200). Por último, añadimos ese objeto al escenario (stage) utilizando el método addChild.

Para que esta función se ejecute, en algún momento tenemos que llamarla con la instrucción putMines();. Escribiremos esta instrucción dentro de la función playGame, ya que será el momento en el que queremos que se añadan las minas al escenario.

Si probamos la película, comprobaremos que al pulsar el botón start (que llama a la función playGame, que a su vez llama a la función putMines), aparece una mina en el centro del escenario.

Para que la posición en la que aparece la mina sea aleatoria, vamos a utilizar el método random de la clase Math.

Math.random() devuelve un número aleatorio comprendido entre 0 y 1. Si multiplicamos ese valor aleatorio por 550 (la anchura del escenario), el número devuelto estará comprendido entre 0 y 550.

Por lo tanto, para crear una posición aleatoria de la mina dentro del escenario, que mide 550 x 400, las líneas que determinan la posición del clip dentro de la función putMines quedarán como sigue:

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

La posición x del clip será un número comprendido entre 0 y 550, mientras que la posición y será un número comprendido entre 0 y 400. Cada vez que se ejecute la función Math.random(), el número devuelto será diferente.