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

  • Post author:
  • Post category:其他



在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);



版权声明:本文为cwq9944原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。