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 像素。
但是,我得到了下面的结果,它看起来像有层的各条线的黑线:
这我tilemap的样子:
答
在cocos2d中很漂亮的标准tilemap问题。
快速修复在ccConfig.h中被称为“通过拉伸纹理修复工件”,但它是一种具有锯齿副作用的黑客解决方法,特别是在滚动缓慢或缩放时可见。
实际的修复需要将tmx节点,其父母和所有祖父母的所有位置设置为精确的像素位置。在非Retina设备上,这意味着将x/y坐标转换为int,在Retina设备上,这意味着舍入到下一个最接近的0.5坐标(即10.3变为10.5,10.8变为11.0)。
PS:KoboldTouch和狗头人套件(Sprite Kit)瓷砖地图渲染器没有这种黑线伪像问题。