iAd banner取消了spritekit游戏

时间:2015-03-28 05:59:01

标签: ios objective-c sprite-kit iad skaction

我正在使用带有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中发生的步骤)?感谢您的时间和帮助 - 这已经困扰了我很长一段时间了!

1 个答案:

答案 0 :(得分:0)

试试这个

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
     skView.scene.paused = YES;
     return true;
}