Domanda

Sto usando - (void) applicationWillTerminate: (NSNotification *) notifica per salvare i dati alla chiusura del mio gioco, quindi caricarli se l'utente preme il pulsante di caricamento la prossima volta. Il salvataggio e il caricamento funzionano bene, ma ho notato che c'è un po 'di ritardo tra quando premo il pulsante Home e quando i dati vengono salvati. Ogni volta che esco, riavvio e carico, il timer del gioco ha continuato a ticchettare e gli stati cambiano prima che venga richiamato applicationWillTerminate; per esempio. gli oggetti di gioco in movimento vengono caricati in posizioni diverse rispetto all'ultima volta che ho visto premendo il pulsante Home. È interessante notare che, se premo rapidamente il tasto home .. sembra uscire dall'applicazione e si aprono i controlli musicali. Tuttavia, se esco in questo modo ogni volta che carico nuovamente i dati, il timer non continua - gli oggetti di gioco non continuano a muoversi con le loro velocità. C'è un modo per aggirare questo?

È stato utile?

Soluzione

Hai guardato UIApplicationWillResignActiveNotification ? Qualcosa di simile al seguente al momento del caricamento / init nella sottoclasse "controller principale" o UIApplication :

[[NSNotificationCenter defaultCenter] addObserver:self /* or whatever */ selector:@selector(applicationWillTerminate:) name:UIApplicationWillResignActiveNotification object:NULL];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top