7

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);

しかし、私の問題は、移動後にレンダリングされた画像がぼやけることです:

ぼやけ問題

を変更してこれを修正しようとしましたSamplerStatesが、何も変わりませんでした。誰かが私を助ける考えを持っていますか?

4

2 に答える 2

5

スプライトの位置を最も近い整数に丸めます。

スプライトの宛先長方形のオフセットが 1 ピクセル未満の場合、ピクセル シェーダーのサンプラーは、隣接するピクセル間を補間して色を計算します。

別のオプションは、サンプラーのフィルター方法を最近傍補間に変更することです。を呼び出すときにSamplerState.PointWrapまたはを指定することで、これを行うことができます。SamplerState.PointClampSpriteBatch.Begin

于 2013-02-11T22:25:24.347 に答える
0

最も簡単なのは、移動ボタンが離されたときに (int)Position.X および (int)Position.Y にキャストすることです。

于 2013-09-22T21:31:42.660 に答える