解决 动画在部分型号的安卓手机上播放会不正常的问题

关于 动画在部分型号的安卓手机上播放会不正常的问题
现在有两个暂时的解决方案
1:
在 CCSpriteFrameCacheHelper里面 的
找到CCTextureAtlas *CCSpriteFrameCacheHelper::getTexureAtlasWithTexture(CCTexture2D *texture) 函数

修改 atlas = CCTextureAtlas::createWithTexture(texture, 4);
为 atlas = CCTextureAtlas::createWithTexture(texture, 32); 或者 更高的数

2:
这个是 cocos2d-x 提供的 暂时的方法,用的是一个不太高效但是比较安全的办法解决问题的
在 CCTextureAtlas 里面找到
bool CCTextureAtlas::resizeCapacity(unsigned int newCapacity) 函数
修改

mapBuffers();

#if CC_TEXTURE_ATLAS_USE_VAO
glDeleteVertexArrays(1,&m_uVAOname);
#endif

glDeleteBuffers(2, m_pBuffersVBO);

#if CC_TEXTURE_ATLAS_USE_VAO
setupVBOandVAO();
#else
setupVBO();
#endif
//mapBuffers();

第二个方法 结果:模拟器正常 在出现动画不完全显示的手机上测试,动画依然不完全显示多了个现象,运行一会儿嗡嗡的震动,过会儿死机了:6:

两种方法都试了,没解决动画不完全显示问题,不过还是非常感谢楼主的帮助

:6::6::6::6::6::6:解决了 第一个方法 有效 感激不尽 多谢多谢

第一个方法的文件,我的版本是2.2.1的,没有那个函数啊

FUCK,那个函数已经不在那个文件中了,在这里CCTextureAtlas *CCArmature::getTexureAtlasWithTexture(CCTexture2D *texture),这个函数里边有一个地方的调用

if (atlas == NULL)
{
    atlas = CCTextureAtlas::createWithTexture(texture, 32/*4*/);
    m_pTextureAtlasDic->setObject(atlas, key);
}

第一个方法试了,比之前好一些,但是还是有缺一个胳膊或者缺个脸的情况

您好,试了两种方法,貌似都没生效,我的问题是部分机型(目前小米1s)骨骼动画出现错乱,闪动的现象,求解!