我在libgdx上渲染tilemaps时,在屏幕上显示的黑线上读了所有关于这个问题的百万篇帖子。所有解决方案都讨论了向tile集添加填充。所以我做到了,但它并没有解决问题。 我想也许我不太了解它,所以我会在这里发布我正在做的过程,如果有人可以指出我的错误,我会很高兴,如果有的话:
这是我的初始图块集的图像:
这是我使用GIMP插件添加填充后我的磁贴集的图像,这是从this帖子中建议的:
然后在Tiled中,我添加了这个tileset并将Margin设置为1px,并将间距设置为2px,就像在this帖子中写的那样。
现在据我所知,问题应该解决,但是当我运行程序时,我得到了:
如果你愿意的话,我可以添加代码部分,但是我渲染地图的方式并没有什么特别之处 - 只需用TmxMapLoader加载它并使用MapRenderer渲染(当然也使用相机,否则问题就不会出现了问题)出现)。
答案 0 :(得分:0)
像这样加载你的地图:
TmxMapLoader.Parameters() params = new TmxMapLoader.Parameters();
params.generateMipMaps = true;
TmxMapLoader mapLoader = new TmxMapLoader();
TiledMap map = mapLoader.load("pathToMap", params);
答案 1 :(得分:0)
我知道这个线程很旧,但是我自己花了两个小时才弄清楚解决方案。因此,以防将来有人遇到相同的问题:
我注意到只有一些瓷砖表现得像这样-例如,草砖,水砖则不然。即使在地图上的相同位置使用了它们。 对我来说,问题是-显然-我的PNG磁贴纸的高度不是2的幂。几天前,我在现有磁贴纸上添加了一行,并将高度从1024px更改为1056px。经过大量的实验,我发现再次删除该行之后,黑色条纹将消失。