C# XNA 2D纹理未正确渲染

C# XNA 2D纹理未正确渲染,c#,xna,C#,Xna,由于某些原因,当我尝试渲染纹理时,它们看起来很奇怪。XNA抓取最下面一行像素并将其向上拉伸 真实图像: 呈现的内容: 我使用这个函数来渲染我的图像 // NOTE: c is a instance of my control class that contains textures etc. Rectangle rect = c.Texture.Bounds; rect.Offset(Convert.ToInt16(c.position.X), Convert.ToInt16(c.positi

由于某些原因,当我尝试渲染纹理时,它们看起来很奇怪。XNA抓取最下面一行像素并将其向上拉伸

真实图像:

呈现的内容:

我使用这个函数来渲染我的图像

// NOTE: c is a instance of my control class that contains textures etc.

Rectangle rect = c.Texture.Bounds;
rect.Offset(Convert.ToInt16(c.position.X), Convert.ToInt16(c.position.Y));

spriteBatch.Draw(c.Texture, c.position, rect, Color.White, 0F, new Vector2(), 1F, SpriteEffects.None, 1F);
有人能告诉我我做错了什么吗


提前感谢。

看起来你不知怎么搞砸了纹理坐标(即,整个精灵使用纹理的下边界,同时也搞砸了水平缩放。你调用
rect.Offset()的意图是什么
?矩形描述了纹理的哪一部分要绘制为精灵,而不是绘制该精灵的位置。如果这不是原因或解决方案,我们需要更多信息,例如
v.X
v.Y
是什么。

我复制了错误的代码,将v.X更改为正确的值。我发现了问题,这与rect.Offset()有关