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

Paso 19 de 22

Volviendo a la programación, podemos indicar en primer lugar que, antes de pulsar ningún botón, el foco del escenario se encuentre en el campo de introducción de texto, al que habíamos llamado mines_txt. De esta forma podremos escribir directamente en el campo de texto, sin necesidad de hacer clic previamente sobre él.

Para ello añadiremos, junto a la definición inicial de las variables de nuestro juego, la siguiente instrucción:

stage.focus = mines_txt;

Después, cuando pulsemos sobre el botón start, el foco pasará a la nave, ya que es lo que habíamos indicado en la función playGame. Por ello no hay ningún problema en establecer el foco inicial del juego en el campo de texto.

Si probamos ahora el juego, comprobaremos que si escribimos un número con el teclado, éste aparecerá en el campo de texto si necesidad de haberlo seleccionado previamente.

Cambiamos el valor inicial de la variable numMines a 0 en vez de 10:

var numMines:Number = 0;

Una vez que se pulse el botón start, lo primero que se debe hacer es asignar a la variable numMines el valor que hayamos escrito en el campo mines_txt.

Por lo tanto, la primera instrucción dentro de la función playGame, será:

numMines = Number(mines_txt.text);

Para acceder al contenido de un campo de texto, tenemos que acceder a la propiedad text del campo. El contenido de un campo de texto es siempre de tipo String. Sin embargo, la variable numMines es de tipo numérico. Por ello es necesario convertir el contenido textual del campo de texto mines_txt en número utilizando Number.

Probamos nuevamente nuestro juego. El número de minas se corresponderá al que indiquemos en el campo mines_txt. Sin embargo, el juego también comenzará si dejamos el campo en blanco o si introducimos otros caracteres no numéricos. El siguiente paso será controlar estas posibles circunstancias.