Я новичок в разработке игр cocos 2d и разработке игры, в которой мне нужно много раз перезагружать сцены из контроллера представления. Для этого я удаляю сцену и запускаю ее снова. Через 2 или более раз сцена загружается, но появляется белый экран и в консоли отображается ошибка «Ошибка OpenGL 0x0506 в - [EAGLView swapBuffers]».
вот мой код для добавления сцены-
if ([[CCDirector sharedDirector] runningScene] == NULL)
{
if( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] )
[CCDirector setDirectorType:kCCDirectorTypeDefault];
CCDirector *director = [CCDirector sharedDirector];
glView = [EAGLView viewWithFrame:[window bounds]
pixelFormat:kEAGLColorFormatRGBA8
depthFormat:GL_DEPTH_COMPONENT24_OES
preserveBackbuffer:NO
sharegroup:nil
multiSampling:YES
numberOfSamples:4];
[director setOpenGLView:glView];
[director setDeviceOrientation:kCCDeviceOrientationPortrait];
[director setAnimationInterval:1.0/60];
[window addSubview:glView];
[[CCDirector sharedDirector] runWithScene: [HelloWorldLayer node]];
}
и код для удаления сцены-
[[CCDirector sharedDirector].openGLView removeFromSuperview];
[[CCDirector sharedDirector] stopAnimation];
[[CCDirector sharedDirector] end];
[[CCDirector sharedDirector] release];
Пожалуйста, помогите мне, я не понимаю, в чем проблема.
Благодарю.