雪碧变得模糊

Pou*_*lsQ 7 c# xna-4.0

我开始学习C#和XNA,我想显示一个动画精灵(由我的键盘移动).

我有这个精灵文件:

基本的精灵

要仅显示我需要的部分,我使用以下代码:

Rectangle cuttedSprite = new Rectangle(
    this.W * (int)this.mCurSprite.X, 
    this.H * (int)this.mCurSprite.Y, 
    this.W, 
    this.H
);
spriteBatch.Draw(this.mSpriteTexture, this.mPosition, cuttedSprite, Color.White);
Run Code Online (Sandbox Code Playgroud)

但我的问题是移动后渲染的图像模糊:

模糊问题

我试图通过改变来解决这个问题SamplerStates,但没有改变.有没有人有想法帮助我?

Luc*_*ius 5

将精灵的位置舍入到最接近的整数.

如果精灵的目标矩形偏移小于一个像素,则像素着色器中的采样器将通过在相邻像素之间进行插值来计算颜色.

另一种选择是将采样器的滤波器方法更改为最近邻插值.您可以通过指定SamplerState.PointWrapSamplerState.PointClamp在调用时执行此操作SpriteBatch.Begin.