我的spriteKit游戏在60fps时工作正常,但是当启用iAd时,它会下降到15,有时甚至是10甚至更低......这很痛苦,当我死的时候需要一段时间来重置场景。 我在x-code 6上运行了分析器,我得到了很多低重要性的警告:
还有以下消息:
我在viewController.m
文件的实现中添加了iAd,如下所示:
@implementation XYZViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//AUDIO BACKground
NSError *error;
NSURL * backgroundMusicURL = [[NSBundle mainBundle] URLForResource:@"spaceprueba160kbps" withExtension:@"mp3"];
self.backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
self.backgroundMusicPlayer.numberOfLoops = -1;
[self.backgroundMusicPlayer prepareToPlay];
[self.backgroundMusicPlayer play];
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
//iAd
ADBannerView* adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
// adView.delegate = self;
[adView setFrame:CGRectMake(0, 0, 1024, 768)]; // set to your screen dimensions
[adView setBackgroundColor:[UIColor clearColor]];
[self.view addSubview:adView];
// self.canDisplayBannerAds = YES;
// Create and configure the scene.
SKScene * scene = [XYZWorld1 sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];
}
我知道我应该取消评论该行 - > // self.canDisplayBannerAds = YES;
但它的工作原理很好,如果我取消注释这行代码,我会得到一个没有iAdd的屏幕,而我的主摄像头看起来比主屏幕略高。
我的游戏不会在此文件中运行,而是在SKScene
的实例中运行。
所以我的问题是,如果有人知道如何在屏幕上保留iAd的同时取回我的60 fps ......?