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

 

posted on 2013-04-14 10:37  jack_yan  阅读(983)  评论(0编辑  收藏  举报