获取源矩形方法不会工作,为什么?

时间:2013-10-03 13:48:31

标签: c# xna

现在,我正在XNA开展一场Jump'n'Run游戏。我决定从tileset加载纹理, 并设计了一种获取较大矩形的源矩形的方法。在该方法中,计算出的矩形被添加到列表中,并且在方法结束时返回列表。但是,该方法似乎无法正常工作。当试图从列表中的给定索引中获取矩形时,我得到一个超出范围异常的索引。我尝试了几个数字,它仍然无法正常工作。这是获取矩形的方法:

public static List<Rectangle> getSourceRectangles(Rectangle original, int partWidth, int partHeight)
        {
            List<Rectangle> rlist = new List<Rectangle>();
            int ix, iy;
            ix = original.Width / partWidth;
            iy = original.Height / partHeight;

            for (int x = 0; x < ix; x++)
            {
                for (int y = 0; y < iy; y++)
                {

                    Rectangle r = new Rectangle(x * partWidth, y * partHeight, partWidth, partHeight);
                    rlist.Add(r);
                }
            }

            return rlist;
        }

我将返回值保存在全局Container类中。 这是我得到的错误:(它只是NormalTile类的构造函数!)

public NormalTile(int _TextureIndex,Rectangle _rect)
        {

            this.rect = _rect;
            this.TileTextureIndex = _TextureIndex - 1;
            this.tex_rect = Global.TileTextures[TileTextureIndex];//HERE
        }

为什么会发生这种情况?

0 个答案:

没有答案