У меня есть этот код (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++;
}
Моя проблема в том, что плитки нарисованы размытыми.
Если я использую этот код вместо этого (я удаляю первый Vector2 из позиции):
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++;
}
Хорошо рисует.
Изображения:
РЕДАКТИРОВАТЬ: я только что обнаружил, что мне нужно преобразовать числа в целые числа, или spritebatch делает что-то напуганное между пикселями, что может размывать мое изображение