您的位置:首页 > 移动开发 > Cocos引擎

Cocos2dx使用spine骨骼动画导致在iphone6s、iphone7真机闪退的解决办法

2018-02-28 20:52 645 查看

在cocos2dx 3.x版本中,在某些情况下使用了spine骨骼动画和LayerColor,可能会导致在iphone6s,和iphone7真机上闪退,其他机型正常,xCode调试发现是在LayerColor::onDraw glDrawArrays(GLTRIANGLE_STRIP, 0, 4)这个方法中崩溃的,网上找到一篇国外开发者的解决方法,经过测试确实可用。(国外解决方法原文地址:https://github.com/cocos2d/cocos2d-x/issues/16543)

解决办法:1、找到 PolygonBatch::flush这个方法;2、将:
GL::bindVAO(0);
glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_POSITION);
glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_COLOR);
glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_TEX_COORDS);
替换为:GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POSITION | GL::VERTEX_ATTRIB_FLAG_COLOR | GL::VERTEX_ATTRIB_FLAG_TEX_COORD);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐