XNA 2D纹理无法正确渲染

时间:2012-03-19 09:19:44

标签: c# xna

出于某种原因,当我尝试渲染它们时,我的纹理看起来很奇怪。 XNA抓取底行像素并向上拉伸它们。

真实图片:The original image

呈现的内容:The rendered image

我使用此功能渲染我的图像

// 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);

有人可以告诉我我做错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

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