C++ 关闭UIViewController时出现cocos2dx OpenGL错误0x0506

C++ 关闭UIViewController时出现cocos2dx OpenGL错误0x0506,c++,ios,objective-c,cocos2d-x,C++,Ios,Objective C,Cocos2d X,我遇到了一个非常困难的问题。在我目前正在开发的Cocos2d-x游戏中(它的主要部分是由另一个开发人员编写的,我刚刚完成,现在它应该只在iOS上运行,所以我不关心所有与Android相关的东西),我需要使用UIViewController。我以一种非常常见的方式提出并驳回: 出席: SDMoreAppsViewController *vc = [[SDMoreAppsViewController new] autorelease]; [viewController presentViewCo

我遇到了一个非常困难的问题。在我目前正在开发的
Cocos2d-x
游戏中(它的主要部分是由另一个开发人员编写的,我刚刚完成,现在它应该只在iOS上运行,所以我不关心所有与Android相关的东西),我需要使用
UIViewController
。我以一种非常常见的方式提出并驳回:

出席:

 SDMoreAppsViewController *vc = [[SDMoreAppsViewController new] autorelease];
 [viewController presentViewController:vc animated:NO completion:nil];// viewController is UIWindow root view controller
驳回:

 UIViewController *controller = self.presentingViewController;
[controller dismissViewControllerAnimated:NO completion:nil];
成功解除视图控制器后,我在控制台中看到一条消息,告诉我出现了
opengl错误0x0506
。此消息通过
EAGLView
swapBuffers
方法和
CCSprite的
draw
方法打印。伴随着这条信息,我的整个场景变得毫无反应。轻敲按钮没有结果

我已经试过很多东西了。我试着推我的视图控制器,并将其作为子视图添加到我的应用程序窗口中,而不是显示,但它甚至没有显示视图控制器(ViewWillAspect方法不会被调用),我也试着将其视图作为子视图添加到我的应用程序窗口中,但这也会带来许多不同的错误

我使用的是cocos2d-x版本cocos2d-2.1rc0-x-2.1.3


以前有人解决过这样的问题吗?有什么建议吗?

在演示ViewController之前,暂停渲染:

CCDirector::sharedDirector()->pause();
CCDirector::sharedDirector()->stopAnimation();

在完成块中调用resume和startAnimation,然后在presentViewController中暂停渲染:

CCDirector::sharedDirector()->pause();
CCDirector::sharedDirector()->stopAnimation();
在完成块中调用resume和startAnimation