kobold2d tilemap的瓷砖之间缝隙黑

问题描述:

我做一个标准的kobold2d tilemap的比赛,而我试图开始从TiledMap类编辑器,.tmx文件kobold2d tilemap的瓷砖之间缝隙黑

标准的代码加载一个瓦片地图很简单:

-(id) init 
    { 
     self = [super init]; 
     if (self) 
     { 
      // add init code here (note: self.parent is still nil here!) 
      CCTMXTiledMap *tiledMap = [CCTMXTiledMap tiledMapWithTMXFile:@"background.tmx"]; 
      [self addChild:tiledMap z:-1]; 
      tiledMap.position = CGPointMake(-500, -300); 

      for(CCTMXLayer* child in [tiledMap children]) { 
       [[child texture] setAntiAliasTexParameters]; 
      } 


      // uncomment if you want the update method to be executed every frame 
      //[self scheduleUpdate]; 
     } 
     return self; 
    } 

我tilemap的是40x35瓦每瓦是:64×64 像素

但是,我得到了下面的结果,它看起来像有层的各条线的黑线:

broken black line between lines

这我tilemap的样子:

enter image description here

在cocos2d中很漂亮的标准tilemap问题。

快速修复在ccConfig.h中被称为“通过拉伸纹理修复工件”,但它是一种具有锯齿副作用的黑客解决方法,特别是在滚动缓慢或缩放时可见。

实际的修复需要将tmx节点,其父母和所有祖父母的所有位置设置为精确的像素位置。在非Retina设备上,这意味着将x/y坐标转换为int,在Retina设备上,这意味着舍入到下一个最接近的0.5坐标(即10.3变为10.5,10.8变为11.0)。

PS:KoboldTouch和狗头人套件(Sprite Kit)瓷砖地图渲染器没有这种黑线伪像问题。