2012-03-19 6 views
0

По какой-то причине мои текстуры выглядят странно, когда я пытаюсь их визуализировать. XNA захватывает нижний ряд пикселей и растягивает их вверх.XNA 2D текстуры не отображаются должным образом

Реальное изображение: The original image

Что визуализируется: The rendered image

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

// NOTE: c is a instance of my control class that contains textures etc. 

Rectangle rect = c.Texture.Bounds; 
rect.Offset(Convert.ToInt16(c.position.X), Convert.ToInt16(c.position.Y)); 

spriteBatch.Draw(c.Texture, c.position, rect, Color.White, 0F, new Vector2(), 1F, SpriteEffects.None, 1F); 

Может кто-то пожалуйста, скажите мне, что я делаю неправильно?

Заранее спасибо.

ответ

1

Похоже, что вы каким-то образом закручиваете координаты текстуры (т. Е. Весь спрайт, используя нижнюю границу текстуры, а также закручиваете горизонтальное масштабирование. Каково ваше намерение для вызова rect.Offset()? Прямоугольник описывает, какую часть текстуры рисовать как спрайт, а не где рисовать этот спрайт. Если это не причина или решение, нам нужна дополнительная информация, например, что v.X или v.Y.

+0

Я скопировал свой код неправильно, изменил vX на правильное значение. – Mechazawa

+0

Я нашел свою проблему, она имела отношение к rect.Offset() – Mechazawa

Смежные вопросы