繁体   English   中英

XNA 2D纹理无法正确渲染

[英]XNA 2D textures not rendering properly

由于某些原因,当我尝试渲染纹理时,它们看起来很奇怪。 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()了整个精灵,同时也rect.Offset()了水平缩放。调用rect.Offset()什么?矩形描述了对象的哪一部分?要作为子画面绘制的纹理,而不是在何处绘制子画面。如果这不是原因或解决方案,我们需要更多信息,例如vXvY是什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM