此while循环未正确存储矩形数组所需的值。矩形用于从精灵表中拉出精灵。下面的注释代码完美地工作。内部循环完全适用于设置第一行,但添加外部循环会弄乱所有内容。 sizeOfEachSpriteX和sizeOfEachSpriteY的值都是32(精灵是方形的)。 spritesheet大小是96宽128高。它是4行,3列精灵。目标是将矩形声明为Rectangles [哪一行,哪一列],如注释掉的代码所实现的那样。看起来后面的迭代覆盖了第一次迭代的数据,并摧毁了整个过程。我很困惑!使用嵌套循环正确加载数组时出现问题
int n = 0;
int n2 = 0;
while (n2 < 5)
{
while (n < 4)
{
Rectangles[n2, n] = new Rectangle
(sizeOfEachSpriteX * n2,
sizeOfEachSpriteY * n,
sizeOfEachSpriteX,
sizeOfEachSpriteY);
n++;
}
n2++;
}
/* This code works perfectly.
Rectangles[0,0] = new Rectangle(0,0,32,32);
Rectangles[0,1] = new Rectangle(0,32,32,32);
Rectangles[0,2] = new Rectangle(0,64,32,32);
Rectangles[0,3] = new Rectangle(0,96,32,32);
Rectangles[1,0] = new Rectangle(32,0,32,32);
Rectangles[1,1] = new Rectangle(32,32,32,32);
Rectangles[1,2] = new Rectangle(32,64,32,32);
Rectangles[1,3] = new Rectangle(32,96,32,32);
Rectangles[2,0] = new Rectangle(64,0,32,32);
Rectangles[2,1] = new Rectangle(64,32,32,32);
Rectangles[2,2] = new Rectangle(64,64,32,32);
Rectangles[2,3] = new Rectangle(64,96,32,32);
*/
你真棒。我应该亲自看过这个。我希望我有更多的声望,所以我可以upvote你! – SoylentGreen 2012-07-17 03:31:06