LibGDX缩放2d图形

时间:2013-10-03 11:56:43

标签: image libgdx sprite scaling stretching

我在LibGDX中拉伸精灵有问题。

我在游戏中有一个png文件(1x1000像素),我想这样做1000x1000px

sprite.setSize(pixelWidth,pixelHeight);

编辑:以下是我想要展开的图片 - sky。如您所见,它从顶部到底部几乎没有渐变。我想让它的宽度为1000像素。我希望图像在宽度上有颜色变化。

但我得到了这个奇怪的结果: Image Image

你可以看到宽度有渐变的东西,即使是线条,但没有理由,因为我正在缩放1p​​x图像...

奇怪的是,其他电脑和手机上的一切看起来都不错......但我不认为问题出在我的电脑上了??

我不知道该尝试什么... 有什么想法吗?

很抱歉,如果我没有解释得很清楚......抱歉我的英文不好

最终:来自过滤。我将过滤器从线性更改为最近,一切都很好

2 个答案:

答案 0 :(得分:2)

我不明白你的问题究竟是什么,但扩展精灵的好方法就是这样

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

此处螺钉是您的视口宽度

答案 1 :(得分:0)

我认为这是因为插值而发生的。当您的精灵和抓取的纹理区域的宽度为1像素,并且您将精灵缩放到屏幕宽度时,GPU会插入一些颜色值,它将使用纹理中邻域中的像素颜色。

您可以尝试将渐变更改为3px宽的纹理,并从3 px的中间抓取1px宽的精灵。 GPU仍然会插入颜色并使用邻域的像素颜色,但是因为它们会相同,所以它看起来还不错。

这里是一个图像,你的纹理区域目前看起来像是什么样子,它的抓取区域,以及跟随纹理区域的样子和它的抓取区域:

enter image description here