现在的位置: 首页 > 综合 > 正文

cocos2d-x tile map瓦片地图的黑线及地图抖动解决方案

2017年10月10日 ⁄ 综合 ⁄ 共 650字 ⁄ 字号 评论关闭

BUG 1:地图的每个图块之间有一些细密的间隔,特别是场景移动时更加明显,将游戏截图放大,可以很明显看到这个细线 

          解决方案:通过设置ccConfo.h中的CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL宏来解决。

             将  #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0   

             改为 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1

             ccConfig.h位置:/cocos2dx/include/ccConfig.h

     解决大致原理是将贴图的适用范围改成99%,将纹理的四边形的范围缩小一圈


BUG2: 场景发生滚动过程中地图会抖动

     解决方案:我们可以通过给TiledMap的每个图层的纹理开启抗锯齿效果来解决这个问题

     具体代码如下:

     CCArray *pChildrenArray = map->getChildren();
     CCSpriteBatchNode *child = NULL;
     CCObject *pObject = NULL;
     CCARRAY_FOREACH(pChildrenArray,pObject){
  child = (CCSpriteBatchNode *)pObject;
  if(!child)
     break;
  child->getTexture()->setAntiAliasTexParameters();
     }

抱歉!评论已关闭.