本文主要是介绍Cocos2dx使用spine骨骼动画导致在iphone6s、iphone7真机闪退的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在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);
这篇关于Cocos2dx使用spine骨骼动画导致在iphone6s、iphone7真机闪退的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!