Desplegando texto en XNA AUTOR: MARÍA CONCEPCIÓN VILLAR CUESTA Fonts (fuentes) El diseño de los caracteres se describe en un archivo de fuentes (font file). Windows tiene una gran cantidad de estos archivos. Por ejemplo: el archivo de la fuente VERDANA, el archivo de la fuente ARIAL, etc. Cada caracter es desplegado en pantalla como si fuera una pequeña imagen. Desplegar texto en XNA Para que un programa de XNA despliegue texto, tienes que: Decidir qué fuente vas a ocupar. Agregar en el proyecto del programa, la referencia al archivo de esa fuente. Pasos para desplegar texto (1) Referencia en directorio Content En la ventana Solution Explorer, haz clic con el botón secundario sobre la carpeta Content. En el submenú Add, elige New Item. Continúa…. Pasos para desplegar texto (1) Referencia en directorio Content Se mostrará una ventanacomo esta. Selecciona SpriteFont para indicar que vamos a hacer referencia al diseño de una fuente. La fuente SpriteFont1.spritefont no existe. Cambia el nombre de la fuente por alguna que esté en tu computadora. Por ejemplo: Arial.spritefont Es conveniente que el nombre de la fuente coincida con alguna instalada en tu computadora. Al terminar, Arial.spritefont formará parte de Content Pasos para desplegar texto (2) Variable de instancia para la fuente Así como con las imágenes, hay que declarar una variable de instancia con la que haremos referencia al archivo de la fuente colocado en Content. Por ejemplo: SpriteFont fuente ; Nuestra variable Pasos para desplegar texto (3) En el método LoadContent, cargar la fuente La fuente se carga en memoria colocando en el método LoadContent una instrucción como la siguiente: fuente = Content.Load<SpriteFont>(“Arial”); “Arial” es el nombre que aparece en la propiedad Asset Name del archivo de la fuente. Pasos para desplegar texto (4) En el método Draw, desplegar el texto Para indicar en qué posición de pantalla aparecerá el texto usaremos un vector, se requiere una variable de tipo Vector2. // Fondo de la pantalla en color Coral graphics.GraphicsDevice.Clear(Color.Coral); // El texto iniciará en (X,Y) = (0,0) Vector2 vectorDelTexto = new Vector2(0, 0); spriteBatch.Begin(); spriteBatch.DrawString( fuente, "Bienvenido", vectorDelTexto, Color.White); spriteBatch.End(); Coordenada (X,Y) de la esquina superior izquierda del texto Pasos para desplegar texto (4) En el método Draw, desplegar el texto La coordenada de la esquina sup. izq. de la pantalla es la (0,0). Las demás coordenadas son un desplazamiento en pixeles a partir de esta posición. // Fondo de la pantalla en color Coral graphics.GraphicsDevice.Clear(Color.Coral); // El texto iniciará en (X,Y) = (0,centrado) Vector2 vectorDelTexto = new Vector2(0,graphics.GraphicsDevice.Viewport.Height/2); spriteBatch.Begin(); spriteBatch.DrawString( fuente, "Bienvenido", vectorDelTexto, Color.White); spriteBatch.End(); Cambiar las propiedades de la fuente Para cambiar el tamaño de letra y otras propiedades de la fuente: Dentro de la carpeta Content, haz doble clic en Arial.spritefont. Se mostrará el código XML que define el diseño de la fuente. Cambiar las propiedades de la fuente Localiza las propiedades que quieres cambiar y haz las modificaciones. Puedes cambiar: la fuente, su tamaño, el espaciado entre caracteres, el estilo (negrita, cursiva), etc. Mostrar texto fijo con texto variable // Agregar en el método Draw int n = 3; // Fondo de la pantalla color coral graphics.GraphicsDevice.Clear(Color.Coral); // El texto iniciará en (X,Y) = (0,0) Vector2 vectorDelTexto = new Vector2(0,0); spriteBatch.Begin(); spriteBatch.DrawString( fuente , "Tienes " + n + " vidas", vectorDelTexto , Color.Yellow ) ; spriteBatch.End(); // Fin de agregar F i n