我的应用程序代码将输入Foreground,如下所示。我正在iOS模拟器上工作。我在我的代码中尝试的是,当玩家在游戏进行时点击主页按钮并在一段时间后返回游戏时,我希望游戏处于暂停状态。虽然我的代码暂停了游戏,但它并没有立即暂停。也就是说,当我再次进入我的游戏时,在一切停顿之前有1秒钟的运动。
-(void)applicationWillEnterForeground:(UIApplication *)application
{ [[NSNotificationCenter defaultCenter] postNotificationName:@"didEnterForeground" object:self];
}
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(handleEnterFg)
name: @"didEnterForeground"
object: nil];
-(void) handleEnterFg
{
if (gameIsOver== NO)
{
[myTimer pause];
gamePause = YES;
self.scene.view.paused = YES;
}
}
-(void) handleEnterBg
{
if (gameIsOver== NO)
{
[bgPlayer pause];
[self childNodeWithName:@"pauseButton"].zPosition = -10;
[self childNodeWithName:@"playButton"].zPosition = 160;
}
}
谢谢!
答案 0 :(得分:1)
如果您想立即暂停游戏,则需要在收到applicationWillEnterBackground
时暂停游戏。