如何在加载admob视图后添加ccMenu

时间:2013-04-23 07:06:08

标签: ios6 cocos2d-iphone admob

我在这个游戏中使用cocos2d-iphone。在Layer中,我将admob添加为弹出式广告。我想将一个ccMenu与admob视图一起添加,以便在单击ccmenuItem后可以删除admob视图。但是我如何知道加载admob视图的时间?

我尝试了下面的方法,但菜单项和admob视图无法同时加载:

UIViewController *controller=[CCDirector sharedDirector];
CGSize size=[[CCDirector sharedDirector]winSize];
controller.view.frame=CGRectMake(0, 0, size.width, size.height);
_bannerViewTable=[[GADBannerView alloc] initWithFrame:CGRectMake(50, 50, GAD_SIZE_300x250.width, GAD_SIZE_300x250.height)];

_bannerViewTable.adUnitID=@"xxxxxxxxxx";
[_bannerViewTable setRootViewController:controller];
[_bannerViewTable loadRequest:[GADRequest request]];

if (_bannerViewTable!=nil) {
    CCLOG(@" _bannerViewTable!=nil");
    CCCallFunc *loadView=[CCCallFunc actionWithTarget:self selector:@selector(loadAdTable)];
    CCCallFunc *addRemove=[CCCallFunc actionWithTarget:self selector:@selector(addMenuToLayer)];
    CCSequence *seq=[CCSequence actionOne:loadView two:addRemove];
    [self runAction:seq];
}else{
    CCLOG(@" _bannerViewTable=nil");
}

-(void)loadAdTable
{
  UIViewController *controller=[CCDirector sharedDirector];
  [controller.view addSubview:_bannerViewTable];
 }

-(void)addMenuToLayer
{
  CCSprite *removeBtn=[CCSprite spriteWithSpriteFrameName:@"minus1.png"];
  CCMenuItemSprite *removeImg=[CCMenuItemSprite itemWithNormalSprite:removeBtn  selectedSprite:nil target:self selector:@selector(removeAdTable)];
  removeImg.position=ccp(343, 282);
  menu=[CCMenu menuWithItems:removeImg, nil];
  menu.anchorPoint=CGPointZero;
  menu.position=CGPointZero;
  [self addChild:menu z:1];
}

如何在加载admob视图的同时添加删除ccMenuItem?

1 个答案:

答案 0 :(得分:0)

您可能应该实施GADBannerViewDelegate,因为它会在收到广告时以及何时展示广告时进行报告。

如果您在班级中实施,则可以触发删除ccMenuItem。