2012-03-19 149 views
0

由于某种原因,当我尝试渲染它们时,纹理看起来很奇怪。 XNA抓住最下面一排像素并向上拉伸。XNA 2D纹理无法正常渲染

实时影像: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

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

+0

我复制了我的代码错误,将vX更改为正确的值 – Mechazawa 2012-03-19 10:19:53

+0

我发现我的问题,它与rect.Offset() – Mechazawa 2012-03-19 11:30:31