Dibujando texto en XNA

Published 28 July 07 12:22 PM | csharp 

Lo acabo probar y es fantástico lo fácil que es dibujar texto en XNA, aunque como he comprobado después hay gente que ya se ha currado sus clases para dibujar texto, pero claro con muchos más añadidos que los que trae el XNA Framework.

Bueno vamos al caso, para dibujar nuestro texto tenemos que añadir una nueva clase .spritefont, clickando con el botón derecho sobre nuestro proyecto pulsamos en Agregar --> Nuevo elemento, en la nueva ventana buscamos un icono de una letra A con un mando de juegos

 

le damos un nombre y agregamos al proyecto.

Si hacemos doble click sobre el archivo nos aparece un archivo XML donde tenemos que concretar la descripción del tipo de letra que vamos a utilizar, nombre, tamaño, espaciado, etc. Todo esto lo leerá el ContentPipeline para cargarlo en el juego.

En mi caso solo he cambiado el nombre de la fuente por "verdana" y el tamaño por "30".

Ahora volvemos a la clase principal y agregamos los siguientes objetos, un SpriteBach, como ya sabréis nos ayuda a manejar las texturas, un SpriteFont para lo que vamos a escribir y un vector de dos dimensiones para colocar el texto.

 

#region Using Statements

using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;

#endregion

namespace SpriteBach
{
        public class Game1 : Microsoft.Xna.Framework.Game
        {
                 GraphicsDeviceManager graphics;
                 ContentManager content;

                 SpriteBatch spritebatch;
                 SpriteFont verdana;
                 Vector2 vector=new Vector2(50, 50);

En la clase Inicialize construimos el SpriteBach y pasamos al ContentPipeline la fuente:

protected override void Initialize()
{
         spritebatch = new SpriteBatch(graphics.GraphicsDevice);
         verdana = content.Load<SpriteFont>("Fuente");
         base.Initialize();

}

Es tan sencillo como cuando pasamos sprites solo que en este caso el tipo es SpriteFont y el archivo se llama "Fuente", sin la extensión spritefont.

Ahora vamos al método Draw y dibujamos el texto:

protected override void Draw(GameTime gameTime)
{
          graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

          spritebatch.Begin();

          spritebatch.DrawString(verdana, "La Bloguera.net", vector, Color.White);

          spritebatch.End();

          base.Draw(gameTime);
}

Pulsamos F5 y el resultado que obtenemos es este:

 

 

Pues nada hasta la próxima :P

Saludetes Cool

Filed under: , ,

Comments

No Comments
Anonymous comments are disabled