问题描述:在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会对纹理进行“切割”处理
网友评论