Добавление Vector2 размывает изображение - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть этот код (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++;
}

Хорошо рисует.

Изображения:

LowRes

HighRes

РЕДАКТИРОВАТЬ: я только что обнаружил, что мне нужно преобразовать числа в целые числа, или spritebatch делает что-то напуганное между пикселями, что может размывать мое изображение

1 Ответ

0 голосов
/ 06 декабря 2011

Я только что обнаружил, что мне нужно привести числа в целые числа, или spritebatch делает что-то в стиле фанк между пикселями, что приводит к размытию моего изображения

...