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

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();

     }

 

你可能感兴趣的:(cocos2d-x)