最近按官方wiki写地图块代码时遇到此问题:在Tiled里画好地图,一切都按wiki步骤来,当把地图显示出来,相机在地图上移动时,会发现地图块之间偶尔会出现缝隙(或者是黑线、白线,根据clear用的填充色不同而不同),用英文来描述,就是tiles之间有gap或white/black line,更专业一点的叫法就是tile bleeding。
借用一下别人的图
于是google了一顿,终于找到算是OK的解决办法了。
据说此问题是libgdx论坛的日经问题,每隔几天就会有人问,因为一直也没有十分优雅的解决方案,目前唯一据说比较实用的解决办法其原理也是囧得不行,听起来就让人脱力,而给出解答的人往往也都是三言两语,说的都是那种“说起来容易做起来巨麻烦”的话,让人摸不到头脑。于是仍然一直有人在问,恶性循环。。。
然后我终于看到了一篇博客,给出了简单详细的解决办法:http://thekemiren.blogspot.jp/2014/07/tile-bleeding-in-libgdx-using-tiled.html
(注意得翻墙)
我把自己搜到的相关知识总结一下:
首先这个问题让人想到的就是filter方案的问题,是不是误用了linear,而其实应该换成nearest。用过unity3D或者熟习openGL的人估计