openGLView转到后台后重新加载

时间:2014-10-05 14:35:05

标签: ios objective-c opengl-es cocos2d-iphone scene

我用Cocos2D创建了一个应用程序。真的很好的框架。 我的问题是,有时当我把我的应用程序放在后台(多任务处理),并在几秒后返回时,当我转到另一个场景并尝试重新加载过去运行的场景时,它会给我一个黑屏。

我已经看到,可以通过openGLView解释当应用程序放在后台时重新加载一些图像,然后我们又回来了。 首先,这是真的吗?

如果是,如何停止当前的glview,并加载一个新的?我试过这段代码:

[[CCDirector sharedDirector] end];
CCGLView *glView = [CCGLView viewWithFrame:CGRectMake(0, 0, 320, 480)
                   pixelFormat:kEAGLColorFormatRGB565
                   depthFormat:0
                   preserveBackbuffer:NO
                   sharegroup:nil
                   multiSampling:NO
                   numberOfSamples:0];

CCDirectorIOS*director_ = (CCDirectorIOS*) [CCDirector sharedDirector];
[director_ setEdgesForExtendedLayout:UIRectEdgeAll];
director_.extendedLayoutIncludesOpaqueBars = YES;
[director_ setDisplayStats:NO];
[director_ setAnimationInterval:1.0/60];
[director_ setView:glView];
[director_ setProjection:kCCDirectorProjection2D];
[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];
CCFileUtils *sharedFileUtils = [CCFileUtils sharedFileUtils];
[sharedFileUtils setEnableFallbackSuffixes:NO];              
[sharedFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"];  
[sharedFileUtils setiPadSuffix:@"-ipad"];
[sharedFileUtils setiPadRetinaDisplaySuffix:@"-ipadhd"];
[CCTexture2D PVRImagesHavePremultipliedAlpha:YES];
[[CCDirector sharedDirector] runWithScene:[CCTransitionFade transitionWithDuration:0.1 scene:[Menu scene]]];

我的菜单场景正在运行,但屏幕上的触摸事件没有得到很好的接收。

你有问题吗?

0 个答案:

没有答案