我正在使用带有iAd横幅的sprite工具包开发iOS游戏,这个iAd导致游戏取消暂停,并且通过取消暂停我的意思是SKActions仍在继续,这里有一些细节:
1)我的游戏中有几个对象具有SKActions的序列(串联不平行)。
2)点击游戏屏幕上的“暂停游戏”按钮,“恢复”工作正常 - 一切都按照需要暂停。下面的“注释”中的NSLog语句未显示。
3)我编写了以下通知,其中有一个观察者调用一个选择器来暂停游戏(被正确调用)。下面的“注释”中的NSLog语句未显示。
-(BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
[[NSNotificationCenter defaultCenter] postNotificationName:@"iAdsoPauseGame" object:self];
return YES;
}
4)iAd出现了lalala ......一切都暂停了应有的状态。下面的“注释”中的NSLog语句未显示。
5)当我点击iAd中的“x”时,会按以下顺序发生以下情况: a)我通过转到iAd暂停游戏时游戏中的对象正在运行的SKAction完成,并且列出了NSLog语句(在下面的注释中)。 b)大约0.5秒后,调用我的ViewController的“viewDidAppear” c)5b后不到1ms,我的iAd的“bannerViewActionDidFinish”被调用(我在这里有一个通知告诉我的游戏暂停...问题是我关闭iAd和这个方法之间有0.5秒的停机时间被调用.. 。)
注意:在我的游戏的主.m文件中,在“update”方法(称为每一帧)中,我有一个NSLog语句(如下所示),一旦我点击iAd中的'x',它就会显示,但随后停止(当调用5b / 5c时)。
if (NodeGamePlay.paused==FALSE) {
NSLog(@"NodeGamePlay.paused==FALSE");
}
所以我的问题:当我退出iAd时,如何阻止SKaction继续(5a中发生的步骤)?感谢您的时间和帮助 - 这已经困扰了我很长一段时间了!
答案 0 :(得分:0)
试试这个
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
skView.scene.paused = YES;
return true;
}