【发布时间】:2015-09-05 19:46:39
【问题描述】:
所以我的平铺地图有问题,我的地图有间隙/纹理渗色,我阅读了有关此问题的其他问题,但我无法找到有效的问题。 我正在使用已经制作好的包含所有图块的精灵表,那么有谁知道它的解决方案吗?我可以制作而且我不需要从精灵表上切割 60 块瓷砖?
【问题讨论】:
标签: libgdx
所以我的平铺地图有问题,我的地图有间隙/纹理渗色,我阅读了有关此问题的其他问题,但我无法找到有效的问题。 我正在使用已经制作好的包含所有图块的精灵表,那么有谁知道它的解决方案吗?我可以制作而且我不需要从精灵表上切割 60 块瓷砖?
【问题讨论】:
标签: libgdx
使用纹理过滤器最近而不是线性,因为线性用户4个周围的纹素来计算实际颜色,所以当它在瓷砖的边界上时会产生间隙。您可以在此处阅读有关 TextureFilter 的信息:
http://www.badlogicgames.com/wordpress/?p=1403
你设置它就像:
Sprite sprite;
//now you are initializing the sprite...
sprite.getTexture().setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
当然,如果您可以访问纹理,您可以直接在纹理上调用 setFilter()。如果您不这样做,因为您从文件创建 tiledMap,您可以尝试迭代切片并为每个切片纹理设置适当的过滤器:
Iterator<TiledMapTileSet> iter = tiledMap.getTileSets().iterator();
while(iter.hasNext())
{
Iterator<TiledMapTile> iterTile = iter.next().iterator();
while(iterTile.hasNext())
{
iterTile.next().getTextureRegion().getTexture().setFilter(...);
}
}
您也可以在 TexturePacker 中挤压您的图集 - 它会将边框上的每个像素加倍,因此颜色混合不会影响它
【讨论】: