CCLabelBMFont设置字符串导致OpenGL错误0x0500

CCLabelBMFont设置字符串导致OpenGL错误0x0500,opengl,cocos2d-x,Opengl,Cocos2d X,Cocos2d:OpenGL错误0x0500 CCTextureAtlas.cpp drawNumberOfQuads 686 当我用setString更新word时,OpenGL将出现滚动错误。或者用文字来初始化CCLabelBMFont cocos2d.x.version: cocos2d-x 2.2.6 cocos2d.x.compiled_with_profiler: false cocos2d.x.compiled_with_gl_state_cache: true gl.vendor

Cocos2d:OpenGL错误0x0500 CCTextureAtlas.cpp drawNumberOfQuads 686

当我用setString更新word时,OpenGL将出现滚动错误。或者用文字来初始化CCLabelBMFont

cocos2d.x.version: cocos2d-x 2.2.6
cocos2d.x.compiled_with_profiler: false
cocos2d.x.compiled_with_gl_state_cache: true
gl.vendor: Apple Inc.
gl.renderer: Apple A8 GPU
gl.version: OpenGL ES 2.0 Apple A8 GPU - 50.6.10
gl.max_texture_size: 4096
gl.max_texture_units: 8
gl.max_samples_allowed: 4
gl.supports_PVRTC: true
gl.supports_NPOT: true
gl.supports_BGRA8888: false
gl.supports_discard_framebuffer: true
gl.supports_vertex_array_object: true

我解决我的问题。这不是cocos2dx问题

池代码原因:

void Box2dCCSprite::setOpacity(GLubyte opacity){
super::setOpacity(opacity);
if (m_pChildren) {
    for (int i=m_pChildren->count()-1; i>=0; i--) {
        CCSprite* child = dynamic_cast<CCSprite*>(m_pChildren->objectAtIndex(i));
        //CCSprite* child=(CCSprite*)m_pChildren->objectAtIndex(i);
        if (child) {
            child->setOpacity(opacity);
        }
    }
}
}


注释是错误代码。

请粘贴代码好吗?这会更容易理解。@shaqirsaiyed thx,我终于纠正了错误。@shaqirsaiyed实际上并不是所有的子项都是CCSpriteohwkey,所以您只想为那些是ccsprite的子项设置不透明度,对吧@沙基尔说是的