然而,我有一个奇怪的问题,当我绘图时,一个图像的外部1px被拉伸成一个矩形,但是内部只在很大程度上被控制,我是画到48x48块,但是画了一个500 x500瓦来显示这个问题。500 x 500拉细似乎是最糟糕的部分,它选择什么时候拉伸,而不是拉伸。还有该撒些什么。很抱歉,这很难解释,但我附上了一张图片,希望能做得更好。

它可能只是误解如何使用绘图与sprite批处理编辑:瓷砖是48x48而不是64x64,我已经工作了一整天.
发布于 2018-09-24 08:20:40
这是因为您没有呈现“像素完美”,这意味着您的图像没有对齐像素网格的显示器。快速修复可能是为您的纹理设置一个线性过滤器,因为默认情况下它使用最近的,因此屏幕上的一个像素将继承它能得到的最接近的颜色。线性滤波器将插值颜色,使这条线“看起来”更薄。
texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);如果您正在使用纹理打包器,您可以通过更改它的设置一次完成此操作。
texturePackerSetting.filterMin = Texture.TextureFilter.Linear;
texturePackerSetting.filterMag = Texture.TextureFilter.Linear;或者,可以通过将filter参数更改为:
filter: Linear,Linear这显然要花费更多的能量,因为它需要对绘制到屏幕上的每个像素进行更多的计算,但是在您的绘图开始出现瓶颈之前,我不会担心这一点。
另一个解决方案是绘制像素完美,这意味着您需要将您的视图设置为设备gdx.graphics.getWidth,gdx.graphics.getHeight的大小,换句话说,是一个ScreenViewport,并绘制您想要的纹理大小。当然,这意味着拥有更多像素的屏幕会看到更多的游戏世界,而屏幕上的像素越少,设备的像素越多,您的纹理就会越小。另一个缺点是,你必须忘记任何缩放或绘制每级变焦的精灵,以便它们再次与设备的像素网格一致。
https://stackoverflow.com/questions/52473884
复制相似问题