Cocos Creator中TiledMap丢失半个像素(0.5像素)的问题

问题描述:在Cocos Creator中导入已经绘制好的地图(tmx、tsx、png文件),预览和运行过程中,发现每个地图块拼接的连接处过渡的不自然,经过放大发现,地图块的上下左右各少了半个像素(0.5像素)。

下图分别是在TiledMapEditor和Cocos Creator中的显示效果。可以看到,像素为16x16的地图块在TiledMapEditor中拼接时,显示效果正常。而导入至Creator中时,却变成了15x15像素,上下左右各丢失了半个像素(其实际占位大小依然是16x16)。

左:TiledMapEditor       右:Cocos Creator


解决过程:修改Creator引擎代码,前往以下路径(该路径为macos下的路径,windows用户可自行参考查找),用Sublime Text等编辑器打开该js文件。

/Applications/CocosCreator.app/Contents/Resources/engine/bin/cocos2d-js-for-preview.js

搜索FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX,并将其更改为false。

更改为false

再将Creator重新启动即可解决。


修改原理:在Creator的论坛中了解到,该变量FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX用作于消除拼接时产生的黑色线条。如果为true,其内部会对纹理图切割1像素(即上下左右各减少0.5像素)。

如果为true,texelCorrect会赋值0.5
texelCorrect会对纹理进行“切割”处理
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容