2011-12-06 6 views
0

をぼかし:は、私はこのコード(XNA 4)を持つ画像

int col = 0; 
int row = 0; 
foreach (Tile tile in TileList) 
{ 
    if (col > NumTiles.X) { 
     row++; 
    } 
    tile.Position = new Vector2(TileDimensions.X/2, TileDimensions.Y/2) + new Vector2(col * TileDimensions.X, row * TileDimensions.Y) + Margins + Position; 
    col++; 
} 

私の問題は、それがぼやけてタイルを描くということです。

私は(私は位置から最初のベクトル2を削除)の代わりにこのコードを使用する場合:

int col = 0; 
int row = 0; 
foreach (Tile tile in TileList) 
{ 
    if (col > NumTiles.X) { 
     row++; 
    } 
    tile.Position = new Vector2(col * TileDimensions.X, row * TileDimensions.Y) + Margins + Position; 
    col++; 
} 

それは罰金、それらを描画します。

画像:

LowRes

HighRes

編集:私はちょうど私が数値を整数としてキャストする必要があることがわかった、またはspritebatchは私の画像をぼかすために起こるいくつかのファンキー挟んピクセルのものを行います

+0

あなたの説明とイメージは意味をなさない。画像は同じサイズに見えます。また、画像は私が期待するものを示しています。最初のセットは2番目のセットよりもオフセットされています。画像を描画するコードはどこですか?それとも、*オフセットが何とか間違っているということですか? –

+0

慎重に見ると、上部の画像がわずかにぼやけており、下部の画像がシャープになっていることがわかります – annonymously

+0

おそらく、あなたの描画コードを表示できますか? –

答えて

0

整数を数値としてキャストする必要があることが判明しました。スプライトバッチは、イメージをぼかすようなピクセル間のぼかしを入れます。

関連する問題