Эти методы вызываются, когда iOS заставляет ваше приложение работать в фоновом режиме или возобновляет выполнение вашего приложения, то есть это сигналы, которые вы получаете, когда внешнее событие заставляет ваше приложение перейти в фоновый режим или вернуться из него.Вы не должны пытаться вызвать их напрямую.Нет реальной связи с меню, созданным пользователем, таким как ваше (например, меню «Возобновить / Пауза»), если вы не сделаете связь явной.
Итак, в следующем методе:
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"<%@>:applicationWillResignActive - received signal, pausing sharedDirector.",[self class]);
// here : place your code for forcing your menu in the 'Resume' state
// i am assuming some kind of change in a button, and
// a state variable of your own that define and control
// what it means to be 'paused' from your applications point of
// view
// then force the director to pause (animations, scheduling, touch, etc ...)
[[CCDirector sharedDirector] pause];
}
после того, как iOS вернет вам управление, поместив ваше приложение в forground в качестве запущенного приложения:
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"<%@>:applicationDidBecomeActive - received signal, resuming sharedDirector.",[self class]);
[[CCDirector sharedDirector] resume];
}
Вам действительно не нужно делать что-то необычное здесь, кроме перезапуска CCDirector, поскольку ваше меню находится в состоянии «Возобновить», гарантировано.Когда пользователь нажимает кнопку «Возобновить», вы снова запускаете игру и переводите меню в состояние «Пауза».