Tiled瓦片地图在真机运行时有缝隙的解决方法

    最近遇到个问题,在用tilemap制作像素风地图后,xcode模拟器运行正常,打包真机运行发现部分地图出现瓦片间有缝隙的问题,如下图:

    游戏引擎Cocos-2dx-Lua 3.10版本,地图用Tiled 0.10.2制作,试着在DesignResolutionSize下面下手,发现问题无法解决,后来查阅资料,发现在frameworks/cocos2d-x/cocos/base下,有一个名为ccConfig.h的文件,找到如下代码:

/** @def CC_FIX_ARTIFACTS_BY_STRECHING_TEXE L
 * If enabled, the texture coordinates will be calculated by using this formula:
 * - texCoord.left = (rect.origin.x*2+1) / (texture.wide*2);
 * - texCoord.right = texCoord.left + (rect.size.width*2-2)/(texture.wide*2);

 * The same for bottom and top.

 * This formula prevents artifacts by using 99% of the texture.
 * The "correct" way to prevent artifacts is by using the spritesheet-artifact-fixer.py or a similar tool.

 * Affected nodes:
 * - Sprite / SpriteBatchNode and subclasses: LabelBMFont, TMXTiledMap.
 * - LabelAtlas.
 * - QuadParticleSystem.
 * - TileMap.

 * To enabled set it to 1. Disabled by default.

 * @since v0.99.5
 */
#ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0
#endif

    将其中的0改为1,即:

#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1

    再打包就发现缝隙被压掉了,如图:

    虽然可能重合部分不太美观,但至少玩家不仔细看是不会发觉的,不像之前那样那么刺眼。至于是否有其他更好的解决方法,或许可以尝试打包贴图的时候上下左右各留出1像素的空间,我还没有尝试,目前都是无缝隙打图片的。如果还有更好的办法都可以留言讨论~

转载于:https://my.oschina.net/hqc17/blog/806552

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值