mi juego cocos2d-x se bloquea al ingresar el fondo. Aquí hay un código de AppDelegate:cocos2d-x juego se bloquea al ingresar al fondo
// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground()
{
CCDirector::sharedDirector()->pause();
CCUserDefault::sharedUserDefault()->flush();
CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
}
// this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground()
{
CCDirector::sharedDirector()->resume();
CocosDenshion::SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
}
y el mensaje de error:
libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient:
0x3797e094: trap
0x3797e096: nop
nota que siempre se bloquea para el iPhone, pero el 99% de los accidentes en Android (bueno cuando el juego no se carga grande imágenes, etc.)
EDIT: He intentado CCDirector :: sharedDirector() -> stopAnimation() y funciona muy bien para iOS. Pero todavía se cuelga para Android (no inmediatamente cuando vuelvo a la aplicación, la pantalla se vuelve negra (pero creo que todavía está ejecutándose porque la música de fondo aún se está reproduciendo) y luego 5 segundos después se bloquea)
EDIT 2: el mensaje de error en Eclipse:.
libEGL call to OpenGL ES API with no current context (logged once per thread) (red warning text)
libc Fatal signal 11 (SIGSEGV) at 0x5f012000 (code=2) (black text)
llamé a la ccdirector :: sharedDirector() -> stopAnimation() y funciona ahora – OMGPOP
lo siento, se bloquea ahora para android. ios está bien – OMGPOP
@OMGPOP Le sugiero que haga dos preguntas por separado porque las razones del bloqueo van a ser diferentes. Creo que habrá otra devolución de llamada en Android en la que tengas que dejar de actualizar la GPU pero no recibirás la devolución de llamada. –