7

私は cocos2d2.0 で CCGLView を使用して cocoa Touch を操作しています。しかし、ホームボタンを押すとアプリケーションがクラッシュします。CCGLView swapBuffers メソッドでエラーが発生しました:

if(![_context presentRenderbuffer:GL_RENDERBUFFER])-------EXC_BAD_ACCESS

スタックは次のとおりです。

5:EAGLContext_presentRenderbuffer(EAGleContext*,objc_selectorr*,unsigned int)

6-[CCGlView swapBuffers]

7-【CCDirectorIOS drawScene】

8-[CCDirectorDisplayLink メインループ:]

.....

ところで、デリゲート メソッドでディレクターを一時停止します。

- (void)applicationDidEnterBackground:(UIApplication *)application
{

    [[CCDirector sharedDirector] pause];
}

何か案は?ありがとう。

4

2 に答える 2

7

私の解決策

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [[CCDirector sharedDirector] pause];   
    [[CCDirector sharedDirector] stopAnimation]; // Add
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [[CCDirector sharedDirector] resume];   
    [[CCDirector sharedDirector] startAnimation]; // Add
}
于 2014-01-09T01:04:33.643 に答える
0

バックグラウンドでアニメーションを一時停止することで、この問題を解決しました。AppDelegate

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [_glView stopAnimation];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [_glView startAnimation];
}
于 2015-01-28T11:04:11.563 に答える