在弄地图滚动的时候, 总是有条黑线, 并且在屏幕中乱闪出现的位置并不固定, 但是这条黑线并不是2张地图的交界处. 用的图是Tiled官方样例里面的图, 每个图块之间有1像素的空白…
请赐教该如何可以去掉这条黑线…
在弄地图滚动的时候, 总是有条黑线, 并且在屏幕中乱闪出现的位置并不固定, 但是这条黑线并不是2张地图的交界处. 用的图是Tiled官方样例里面的图, 每个图块之间有1像素的空白…
请赐教该如何可以去掉这条黑线…
你好,是否可以将地图资源上传一下。我这里重现一下问题并查找解决方案。谢谢反馈!
我用的就是Tiled样例自带的图
我好像之前也遇到了这个情况。tiledmap,做一个水平移动的action,屏幕上就开始闪黑线,贴图运动也不太正常。拿了官方example里的tiledmap的范例,啥都没改,就让地图运动一下,也发现同样的问题。
顺便,网页上跟手机上跑都很正常,好像就只有win32模拟器上这样。
同遇到过……但是没有往手机上导,原来只是模拟器的原因啊
cc.director.setProjection(cc.Director.PROJECTION_2D);
执行该语句可解决
试了好像并没有什么用。
tiledmap用的是图集,采样的时候并不会采样到texture边缘,即便使用了linear混合,问题是有,混合了两个tile的边界像素,但不会是黑线。如果真是采样的问题,缩tex的那个方案理论上有用,但黑线应该不是这个问题。
以前经典的OpenGL黑线问题是clamp to border引起的,因为border颜色默认是黑,但是OpenGL ES只有clamp to edge.另外gles默认是repeat,所以更多的不是黑线而是杂色线。
另外即便是采样的问题,也不能把linear改成nearest吧,那样会影响缩放的效果。
至于采样问题,如果不是tiledmap这种图集,其实很好解决,就是每个sprite frame外面延申出一像素,但这多出的一像素不算在sprite frame内,以前我们的自研引擎都是这么解决的,现在有些合并图集的工具貌似可以直接延申像素了,就是为了解决这个问题。
至于tiledmap,因为现在用的是tiled工具,他只会按size切割,所以这个方法没法直接用,除非引擎能额外处理,其实缩tex就可以。
但是黑线,我还是想不明白,怎么出来的,毕竟我的tile在图中间,怎么采样和混合也出不来黑色。请指点一二