我正在开发一款iOS游戏;我正在使用几个SKScenes和一个View Controller,我的菜单在不同的SKScenes之间导航。我有暂停的问题(我的游戏正在使用SKActions):
问题:假设我的游戏处于“暂停”状态(游戏中所有对象的SKActions都暂停)。当我点击“主页”按钮并将我的应用程序发送到后台时,所有内容都会保持暂停状态。但是,当我单击我的应用程序以恢复它时,应该自动暂停的场景“恢复”自身,并且所有SKActions恢复完成,然后游戏暂停。 (如果我能提供任何其他细节,请告诉我)。
'证据':我知道这是因为在每个帧调用的'update'循环中,我有一个NSLog语句,当SKNode nodeGamePlay暂停时打印,当我点击我的游戏时它打印几次(半秒)模拟器的背景。
我想要的:当点击并打开应用程序时,我希望我的暂停游戏菜单出现,我希望我的游戏(nodeGamePlay的孩子)暂停。
我拥有:在我的SKScenePlay中,我有一个方法可以加载“暂停菜单”(不是nodeGamePlay的子节点)并暂停nodeGamePlay,当用户单击暂停按钮时会显示该节点。目前,当用户将我的应用程序发送到后台然后重新打开它时,会调用此方法并添加暂停菜单并且nodeGamePlay应该暂停(我在我唯一的viewController中使用以下内容调用它)。但是,虽然显示暂停菜单,但nodeGamePlay不会暂停。我该如何解决这个问题?
- (void)appDidBecomeActive:(NSNotification *)notification {
[[NSNotificationCenter defaultCenter] postNotificationName:@"loadPauseGameMenu" object:scene];
}
编辑:更新,当我设置self.paused = true(对于SKScene)时,所有内容都会正常暂停。当我为自己的每个孩子做一个for-in循环并设置每个child.paused = true时,SKActions没有正确暂停。