移动摄像机 tiledmap出现黑条

  • Creator 版本:1.6.2正式版
  • 目标平台:Web
  • 详细报错信息,包含调用堆栈:无
  • 重现方式:源码见附件,在线地址
  • 之前哪个版本是正常的(可选):没试
  • 手机型号(可选):iPhone 6s plus
  • 手机浏览器(可选):iOS最新版、windows7 chrome均可重现
  • 编辑器操作系统(可选):windows7
  • 编辑器之前是否有其它报错(可选):无

map.zip (82.9 KB)

截图:

最后这张是正常的,刚刷新页面,不移动的效果。

在官方物理引擎教学视频,里面提到了这个问题,目前不知道优化做好了没,里面有一个而解决这个黑线的问题,但是舍弃了另一个性能,具体忘记了,看的时间有点长了
https://mp.weixin.qq.com/s?__biz=MjM5ODAxNTM2NA==&mid=2659644246&idx=1&sn=6a16a5f1bfebd3f5852fdcc21687b9bb&chksm=bda36bbd8ad4e2abb6c83f8cf90bde154a6f1c9f9500db2439d460da10720d29fe06f12dd95a#rd

这个地方在视频3/4处左右吧

从中间看到最后,没看到。。。
又前边开始看。。。。 1小时12分的时候说的。。。 :joy:

给出直播中的解决方案,可以通过修改这个宏来调整行为:

FIX_ARTIFACTS_BY_STRECHING_TEXEL Number
If enabled, the texture coordinates will be calculated by using this formula: 
- texCoord.left = (rect.x2+1) / (texture.wide2); 
- texCoord.right = texCoord.left + (rect.width2-2)/(texture.wide2); 

The same for bottom and top. 

This formula prevents artifacts by using 99% of the texture. 
The "correct" way to prevent artifacts is by expand the texture's border with the same color by 1 pixel

Affected nodes: 
- _ccsg.Sprite 
- _ccsg.TMXTiledMap 

Enabled by default. To disabled set it to 0. 
To modify it, in Web engine please refer to CCMacro.js, in JSB please refer to CCConfig.h
cc.macro.FIX_ARTIFACTS_BY_STRECHING_TEXEL = 1; // tmx无黑边

这个有弊端,如果设置为0,则sprite不会切掉1像素。tmx会有黑边。
设置为1,sprite会切掉1像素,tmx不会有黑边。。。。

然后,大大说要解决,貌似还没解决。。。。

尴尬:sweat_smile:,看的时间有点长了,忘记了

1.7.0 内测版好像解决了这个问题,可以去看看

嗯是的,我刚刚测试了~ 已经没有这个问题了。官方干的漂亮~~

好奇这个特殊情况是什么情况下,不知道的东西总是没底

使用creator1.7版本就不会出现这个问题了。。