martes, 31 de marzo de 2009

Escribir texto con XNA.

Cargar textos en pantalla es muy sencillo con XNA, pero no por ello vamos a obviarlo. Cuando acabes esté tutorial verás que es muy parecido a cargar un gráfico, el sistema es el mismo, cargamos la fuente en el método Load y luego lo dibujamos en el método Draw.
Lo primero que tienes que hacer es crear un nuevo fichero que contenga las características de la fuente (tipo de letra, tamaño…); Para ello agregamos un nuevo elemento del tipo Sprite Font. Lo creamos en la carpeta de contenidos “Content”.

addnewitem

addsprite

Ahora lo vamos a dejar tal y como viene por defecto, pero puedes cambiar el tipo de letra, el tamaño o cualquiera de las propiedades de la fuente.
Ahora tienes que definir una variable a nivel de clase de tipo SpriteFont donde almacenaremos la fuente, acto seguido en el método LoadContent la cargaremos en el proyecto, tal y como hacemos con las imágenes.
[code language="csharp"]
SpriteFont texto;
[/code]
[code language="csharp"]
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);

texto = this.Content.Load("fuente");

// TODO: use this.Content to load your game content here
}
[/code]

Por último en el método Draw hacemos que se “pinte” en pantalla utilizando DrawString.
[code language="csharp"]
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);

Vector2 posicionTexto=new Vector2(200,300);

spriteBatch.Begin();
spriteBatch.DrawString(texto,"Desarrollo XNA, mostrando texto en pantalla.", posicionTexto,Color.White);
spriteBatch.End();

base.Draw(gameTime);

// TODO: Add your drawing code here

base.Draw(gameTime);
}
[/code]

Como has podido comprobar es muy sencillo escribir texto en un juego XNA, muy pronto escribiré un tutorial para trabajar con textos en C# y de esta forma ampliaremos un poco mas este tutorial.
Como siempre, aquí puedes descargar el código.
See you!

No hay comentarios:

Publicar un comentario