【发布时间】:2012-07-06 03:26:11
【问题描述】:
我创建了一个 Vector2 数组,它保存了精灵将要显示的位置:
Vector2[,] SpritePosition = new Vector2[4,4];
然后我写了一个for循环来初始化每个成员的位置:
public void loadArray()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
SpritePosition[i, j] = new Vector2(i*texture.Width , j*texture.Width);
}
}
}
我创建了一个包含精灵的纹理,并且下一个位置是根据纹理中图像所需的宽度计算的(一个图像被加载为 4 行,每行 4 行)。
然后我在Draw()函数中使用了如下代码
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
spriteBatch.Draw(texture, SpritePosition[i,j], Color.White);
spriteBatch.End();
但是当我运行程序时,它只显示了 1 张图像,而不是 4 行 4
【问题讨论】: