2013-10-03 7 views
5

У меня проблема с растягиванием спрайтов в LibGDX.LibGDX масштабирование 2d графика

У меня есть один файл PNG для неба в игре (1x1000 пикселей) и я хочу сделать это 1000x1000px

sprite.setSize(pixelWidth,pixelHeight); 

Edit: Вот образ, который я хочу, чтобы растянуть - sky. Он имеет небольшой градиент сверху вниз, как вы можете видеть. Я хочу сделать 1000px в ширину. Я ожидаю, что изображение будет иметь изменение цвета по ширине.

Но я получаю этот странный результат: Image Image

Вы можете видеть, что есть что-то вроде градиента ширины, даже с линиями, но без причины, потому что я масштабирование 1px изображения ...

Странно, что все выглядит отлично на других ПК и мобильных телефонах ... Но я не думаю, что проблема в моем компьютере !?

Я не знаю, что попробовать ... Любые идеи?

Извините, если я не объяснил это очень хорошо .. и простите за мой плохой английский

Final: Это было от фильтрации. Я изменил фильтр от линейного до ближайшего и все было хорошо

+0

Вы должны сказать нам, что проблема есть! На самом деле, вы можете видеть цветовые различия? Если это требует текстуры с более высоким разрешением. И это может быть так, что это ваш монитор, который не показывает достаточно цветов для хорошего результата. – BennX

+0

Извините. Я отредактировал эту тему. Мой монитор - Acer AL511 – user2842461

ответ

2

я не понимаю, что ваш вопрос действительно есть, но хороший способ масштабирования спрайта, как это

sprite.setSize(scrw * 0.16f, scrw * 0.16f); 

здесь ЮКЖД является ширина вашего окна просмотра

0

Я думаю, что это происходит из-за интерполяции. Когда ваш спрайт и захваченная область текстуры имеют ширину 1 px и вы масштабируете спрайт до ширины экрана, GPU будет интерполировать некоторые значения цвета, и он будет использовать цвета пикселя по соседству в текстуре.

вы можете попытаться сменить свой градиент на текстуру шириной 3 пикселя и захватить один спрайт 1px из середины 3 px. GPU по-прежнему будет интерполировать цвета и использовать пиксельные цвета в окрестности, но поскольку они будут такими же, как это будет выглядеть, все будет хорошо.

Здесь изображение как ваш textureregion, вероятно, выглядит на данный момент и его захвата области, и после textureregion, как он должен выглядеть и ее захвата площадь:

enter image description here

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