切后台或调用SDK返回时黑屏
我做了一个在Android手表上运行的游戏,切后台或调用SDK授权(授权机制类似微信)返回时黑屏,查看cocos2d-x-lite代码发现去掉了纹理缓存和重建,请问这是为什么呢?
用1.x版本的cocos creator解决了
如果不用老版本,该如何解决?
我是要显示别的UIView,如果那些别的UIView(他们也用opengl)没有允许他们自由切换横竖屏的话,返回没有问题。 如果允许他们自由切换横竖屏的话,就会出问题。 我尝试重建context,,重启mainloop,但是没有成功。
我在CCApplication-ios.mm里加上 void Application: pause(){ if(_delegate){ [(MainLoop *)_delegate stopMainLoop]; [(CCEAGLView *)_view releaseCtx]; //我把整个GLCtx销毁,上面那行已经确保不再使用它了。 } }
void Application::resume(){
if(_delegate){
CCEAGLView *eaglview=()_view;
[eaglview setupGLContext];
eaglview.cbOnLayoutDone=^{
[(MainLoop *)_delegate startMainLoop];
};
[eaglview setNeedsLayout]; //CCEAGLView.layoutSubviews里头会重新申请绑定显示帧内存
}
}