Pregunta

Estoy usando - (void) applicationWillTerminate: (NSNotification *) notificación para guardar datos cuando salga de mi juego, y luego cargarlo si el usuario presiona el botón de carga la próxima vez. El guardado y la carga funcionan bien, pero he notado que hay un cierto retraso entre cuando presiono el botón de inicio y cuando se guardan los datos. Cada vez que salgo, relanzo y carga, el temporizador del juego ha seguido marcando y los estados cambiaron antes de que se llame a la aplicación WillTerminate; p.ej. Los objetos del juego en movimiento se cargan en diferentes ubicaciones, luego lo que vi por última vez al presionar el botón de inicio. Curiosamente, si presiono el botón de inicio rápidamente ... aparece para salir de la aplicación y aparecen los controles de música. Sin embargo, si salgo de esta manera cada vez que vuelvo a cargar los datos, el temporizador no continuó: los objetos del juego no seguían moviéndose con sus velocidades. ¿Hay alguna forma de evitar esto?

¿Fue útil?

Solución

¿Has mirado UIApplicationWillResignActiveNotification ? Algo como lo siguiente en el momento de carga / inicio en su 'controlador principal' o subclase UIApplication :

[[NSNotificationCenter defaultCenter] addObserver:self /* or whatever */ selector:@selector(applicationWillTerminate:) name:UIApplicationWillResignActiveNotification object:NULL];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top