【发布时间】:2015-06-01 13:53:22
【问题描述】:
我正在使用带有 iAd 横幅的 sprite kit 开发一款 iOS 游戏,这个 iAd 导致游戏自行取消暂停,取消暂停是指 SKAction 仍在继续,以下是一些详细信息:
1) 我的游戏中有几个对象具有一系列(串联而不是并行)SKAction。
2) 单击我的游戏屏幕上的“暂停游戏”按钮并“恢复”工作正常 - 一切都按需要暂停。下面“注意”中的NSLog语句不显示。
3) 我编写了以下通知,其中有一个观察者调用选择器来暂停游戏(被正确调用)。下面“注意”中的NSLog语句不显示。
-(BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
[[NSNotificationCenter defaultCenter] postNotificationName:@"iAdsoPauseGame" object:self];
return YES;
}
4) iAd 出现啦啦啦……一切都按原样暂停。下面“注意”中的NSLog语句不显示。
5) 当我点击 iAd 中的“x”时,按此顺序发生以下情况: a) 当我通过 iAd 暂停游戏时,我在游戏中的对象正在运行的 SKAction 完成,并且列出了 NSLog 语句(在下面的注释中)。 b) 大约 0.5 秒后,我的 ViewController 的“viewDidAppear”被调用 c)在 5b 之后不到 1 毫秒,我的 iAd 的“bannerViewActionDidFinish”被调用(我在这里有一个通知告诉我的游戏暂停......问题是在我关闭 iAd 和调用这个方法之间有 0.5 秒的停机时间.. .)
注意:在我游戏的主 .m 文件中,在“更新”方法(每帧调用)中,我有一个 NSLog 语句(如下),当我点击 iAd 中的“x”时,它会立即显示,但随后停止(当调用 5b/5c 时)。
if (NodeGamePlay.paused==FALSE) {
NSLog(@"NodeGamePlay.paused==FALSE");
}
所以我的问题是:当我退出 iAd 时,如何防止 SKaction 继续(在 5a 中发生的步骤)?感谢您的宝贵时间和帮助 - 这一直困扰着我很长一段时间!
【问题讨论】:
标签: ios objective-c sprite-kit iad skaction