我正在使用cocos2d v3.3和Mapkit Framework开发应用程序。
当我创建一个MapView时,将它叠加在一个场景上,并做一些像显示我的位置,一切正常。但是当我弹出场景(当然我也删除了mapview)时,程序崩溃了。 CCRenderBuffer导致CCRendererBasicTypes.h中的错误访问:
/// Set a vertex in the buffer. static inline void CCRenderBufferSetVertex(CCRenderBuffer buffer, int index, CCVertex vertex) { buffer.vertexes[index] = vertex; }
buffer.vertexes
为NULL,因此崩溃。
buffer.elements
也为NULL,buffer.startIndex
为0。
我认为当我删除mapview时,它会清除渲染缓冲区,但我不知道为什么。
这是日志:
OpenGL error GL_INVALID_FRAMEBUFFER_OPERATION detected at -[CCGraphicsBufferGLUnsynchronized commit] 179
OpenGL error GL_INVALID_OPERATION detected at -[CCGraphicsBufferGLUnsynchronized commit] 179
OpenGL error GL_INVALID_OPERATION detected at CCRenderStateGLTransition 285
OpenGL error GL_INVALID_FRAMEBUFFER_OPERATION detected at CCRenderStateGLTransition 285
OpenGL error GL_INVALID_FRAMEBUFFER_OPERATION detected at -[CCGraphicsBufferGLUnsynchronized prepare] 170
OpenGL error GL_INVALID_VALUE detected at -[CCGraphicsBufferGLUnsynchronized prepare] 170
我在IOS7上尝试了完全相同的程序,没有问题。
请帮助我,谢谢!