XNA: Visibilidad de capas

diciembre 3, 2008


Para dibujar un texto se puede hacer de dos modos: utilizando la misma capa para el font como para sprite o utilizarar una nueva capa solo para el string. Si utilizamos la misma capa no habrá interferencias entre estas pues todo se dibuja en un mismo buffer por decirlo de algún modo.

Si utilizamos distintas capas son 2 buffer a la hora de dibujar por lo que, dependiendo de como lo hagamos uno estará superpeusto al otro. Como sabemos que una capa será superpuesta a la anterior? pues de un modo muy sencillo, la última capa dibujada es la capa más arriba.

ForegroundBatch.Begin();
ForegroundBatch.Draw(SpriteTexture, pos, Color.White);
ForegroundBatch.End();

spriteBatch.Begin();
spriteBatch.DrawString(spriteFont, output, posFont, Color.LightGreen,
0, FontOrigin, 1.0f, SpriteEffects.None, 0.
spriteBatch.End();

De este modo, la capa ForegroundBatch estará en el fondo mientras spriteBatch se superpondrá. Para hacer lo contrario simplemente darle la vuelta.

spriteBatch.Begin();
spriteBatch.DrawString(spriteFont, output, posFont, Color.LightGreen,
0, FontOrigin, 1.0f, SpriteEffects.None, 0.
spriteBatch.End();

ForegroundBatch.Begin();
ForegroundBatch.Draw(SpriteTexture, pos, Color.White);
ForegroundBatch.End();

Anuncios

One Response to “XNA: Visibilidad de capas”


  1. […] 20, 2009 Hace un tiempo escribí sobre la visibilidad de capas desde lo que había podido aprender observando los ejemplos de F1 pero quedaba mucho por […]


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: