使用cocos2d-x显示瓦片地图,发现两个瓦片衔接的地方有黑线,找了一下解决方案:
第一种:修改 ccConfig.h
将
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0
改为
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1
(VS 在 属性 preprocessor中加上宏定义 而不是直接修改引擎代码)
第二种:
调用瓦片地图对应CCTexture2D的setAliasTexParameters接口。
若调用之后还有黑线,则还调用 CCDirector::sharedDirector()->setProjection(kCCDirectorProjection2D);
例如我自己的代码:
bool AppDelegate::initInstance()
{
CCDirector::sharedDirector()->setProjection(kCCDirectorProjection2D);
return true;
}
调用瓦片地图纹理setAliasTexParameters():
CCTexture2D* texture2D = CCTextureCache::sharedTextureCache()->textureForKey("TiledResource.png");
texture2D->setAliasTexParameters();