-1

1)我用cocos2d-iphone v3做了一个游戏。

2)我整合了一个全屏广告。

3)我想加载一个cocos2d场景,当用户关闭广告时,它不起作用(我导入了cocos2d框架)。广告消失后只有一个黑屏动画。“interstitialAdDidFINISH”出现在输出中,所以很可能最后一行是错误的。

-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
    interstitial = nil;
    //    [interstitialAd release];
    // [ADInterstitialAd release];
    requestingAd = NO;
    NSLog(@"interstitialAdDidFINISH");
    [[CCDirector sharedDirector] replaceScene:[CCBReader loadAsScene:@"MainScene"]];

}

我想,我不能这么简单地从 UIViewController 类加载 cocos2d 场景.....我该怎么做?

编辑:所以?这不是零

 if ( [CCDirector sharedDirector].view != nil) {
        NSLog(@"Hey there");
    }

编辑 2:我发现,那[CCDirector sharedDirector]];也是一个 ViewController。我试过这样的东西。iAd 完成后游戏崩溃。

    [self addChildViewController:[CCDirector sharedDirector]];
    [self presentModalViewController:[CCDirector sharedDirector] animated:NO];
    [[CCDirector sharedDirector] replaceScene:[CCBReader loadAsScene:@"MainScene"]];
4

1 回答 1

0

我找到了解决方案。可能对其他人有帮助。

首先,这就是我如何从 MainScene 呈现 iad 视图控制器

  *ViewControllerAdEx= [[ ViewControllerAd alloc] init]; // making an instance of iad class
  [[CCDirector sharedDirector] presentModalViewController:ViewControllerAdEx animated:YES]; 
  [ViewControllerAdEx showFullScreenAd]; // caling a method from class

在 iad 类中,当 iad 完成工作时:

[self dismissViewControllerAnimated:YES completion:^{
     [[CCDirector sharedDirector] replaceScene:[CCBReader loadAsScene:@"MainScene"]];
    }];
于 2014-08-20T17:39:34.647 回答