我开始使用xna,我对此很新手,但是我正在努力继续使用这个框架,不管怎么说,我的问题是:
我有很多.png图像并且不想为这些图像制作一个对象,所以我想把它们放在一个Texture2D
数组中,我认为这是做到这一点的方法,但看起来不是这样的正确的方法:
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));
}
纹理的文件名是1.png,2.png,3.png等。
特殊卡有card1.png,card2.png,card3.png等。
我正在尝试制作二十一点游戏。
你能给我一个建议,在一个texture2D数组中加载所有这些纹理。
IDE会出现NULLREFERENCEEXCEPTION问题。
也许这种语言不能理解整个地址,无法将纹理找到字符串。
答案 0 :(得分:1)
索引是基于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));
}
如果你想同时加载所有纹理,你可以使用精灵表样本:
http://create.msdn.com/en-US/education/catalog/sample/sprite_sheet
您将拥有一个独特的资源和一个源矩形字典来绘制精灵......