在屏幕上绘制时,纹理似乎会移位(XNA)

时间:2012-07-13 05:13:52

标签: graphics xna texture2d

为什么我的纹理边缘包含不需要的彩色线条?纹理看起来像是像素的一部分。

1 个答案:

答案 0 :(得分:0)

当你没有绘制整个纹理时,

Texture2d有时会被视为移位或错位,而只是通过SourceRect参数和纹理的位置(Vector2 )具有非整数坐标。它可能看起来像边缘处出现不需要的纹理。

如果您的纹理具有1px紫色边框,则实际图像可能会显示为带有紫色边缘。您可以通过使纹理坐标为整数来避免这种情况。

如果此代码导致问题......

Texture.Position.X = 4.9876f; // 4.9876f is an example of actual value
Texture.Position.Y = 5.1234f;

...尝试添加演员:

Texture.Position.X = (int)4.9876f;
Texture.Position.Y = (int)5.1234f;