XNA: almacenar muchas texturas 2D en una matriz
Frecuentes
Visto 4,029 veces
0
Estoy empezando con xna, soy bastante novato con esto, pero estoy haciendo mis esfuerzos para continuar con este marco, de todos modos, mi problema es que tengo muchas imágenes .png y no quiero hacer un objeto. para cualquiera de esas imágenes, así que quiero ponerlas en un Texture2D
array, pensé que esta es la forma de hacerlo, pero parece que no es la forma correcta:
Texture2D[] _rCards, _bCards, _sCards;
_bCards = new Texture2D[9];
_rCards = new Texture2D[9];
_sCards = new Texture2D[6];
for (int i = 1; i < 10; i++)
{
_bCards[i] = Content.Load<Texture2D>("Images/Common/Black/"+i);
_rCards[i] = Content.Load<Texture2D>("Images/Common/Red/"+i);
if(i<6)
_sCards[i] = Content.Load<Texture2D>("Images/Special/Card" + (i-1));
}
Los nombres de archivo para la textura son 1.png, 2.png, 3.png, etc.
Las cartas especiales son card1.png, card2.png,card3.png y así sucesivamente.
Estoy tratando de hacer un juego de blackjack.
¿Me puede dar un consejo para cargar todas estas texturas en una sola matriz de texturas 2D?
El IDE da un problema NULLREFERENCEEXCEPTION o algo así.
Tal vez el idioma no entienda la dirección completa para encontrar las texturas como una cadena.
1 Respuestas
2
Los índices están basados en 0...
for (int i = 1; i < 10; i++)
{
_bCards[i-1] = Content.Load("Images/Common/Black/"+i);
_rCards[i-1] = Content.Load("Images/Common/Red/"+i);
if(i<6) _sCards[i-1] = Content.Load("Images/Special/Card" + (i-1));
}
si desea cargar todas las texturas al mismo tiempo, puede usar la muestra de la hoja de sprites:
http://create.msdn.com/en-US/education/catalog/sample/sprite_sheet
Tendrás un activo único y un diccionario de rectángulos fuente para dibujar los sprites...
contestado el 22 de mayo de 12 a las 19:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# xna texture2d or haz tu propia pregunta.
¿Dónde se lanza la NullReferenceException? ¿Qué objeto es nulo? Ya que está intentando cargar archivos PNG, ¿intentó agregar +".png" a sus cadenas? - Coincoin
No estoy seguro de si se trata de copiar y pegar, pero en los índices de matriz de C# comienzan en 0 y van a Longitud-1. Usted indexa en _bCards y _rCards alcanzará una Excepción fuera o de rango cuando i == 9. - borrillis