2013-12-16 62 views
1

我遇到了非常棘手的問題。在我目前工作的Cocos2d-x遊戲中(它的主要部分是由另一個開發人員編寫的,我剛剛完成它,現在它應該只在iOS上工作,所以我不關心所有Android相關的東西)我需要使用UIViewController。我目前它並關閉在一個非常常用的方法:cocos2dx解僱UIViewController時OpenGL錯誤0x0506

存在:

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 error 0x0506已經出現。該消息從EAGLViewswapBuffersCCSpritedraw的方法打印。隨着這個消息,我的整個場景變得沒有反應。點擊按鈕不會產生任何結果。

我已經嘗試了很多東西。我嘗試推動我的視圖控制器,並添加它作爲一個孩子而不是呈現,但它甚至沒有顯示視圖控制器(viewWillAppear方法不會被調用),我也嘗試將其視圖作爲子視圖添加到我的應用程序的窗口,但也帶來了很多不同的錯誤。

我使用了cocos2d-x版本的cocos2d-2.1rc0-X-2.1.3。

以前有人解決過這樣的問題嗎?有什麼建議麼?

回答

5

presentViewController之前,暫停渲染:

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

呼叫恢復和startAnimation在完成塊

+0

爲我工作,謝謝! –