出于某种原因,当我尝试渲染它们时,我的纹理看起来很奇怪。 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);
有人可以告诉我我做错了吗?
提前致谢。
答案 0 :(得分:1)
看起来你在某种程度上搞砸了纹理坐标(即整个精灵使用了纹理的下边框,同时也搞砸了水平缩放。你打算调用rect.Offset()
的意图是什么?矩形描述了什么要作为精灵绘制的纹理的一部分,而不是绘制精灵的位置。如果这不是原因或解决方案,我们需要更多信息,例如v.X
或v.Y
是什么。