在iPhone游戏中的Cocos2d 2.0 / Admob旗帜上整合Admob旗帜

有没有人知道如何在cocos 2d v2中制作admob,所有的文档都是以一个视图根控制器为基础的,而cocos2d 2则以另一种方式。

我发现的唯一文档是这样的: 与admob-and-cocos2d一起工作,但是对于像我这样的新手来说,它有点不好。 如果任何人都可以帮助我,我很欣赏!

这里是我的工作admob cocos2d代码:复制createAdmobAds,showBannerView,hideBannerView和dismissAdView到你的class级。

下面是Cocos2d 3.0 Admob示例 ,适用于Cocos2d 2.0

#import "GADBannerView.h" typedef enum _bannerType {   kBanner_Portrait_Top,   kBanner_Portrait_Bottom,   kBanner_Landscape_Top,   kBanner_Landscape_Bottom, }CocosBannerType; #define BANNER_TYPE kBanner_Landscape_Bottom //change this on need basis @interface MyMainMenu : CCLayer { GADBannerView *mBannerView; CocosBannerType mBannerType; float on_x, on_y, off_x, off_y; } @implementation MyMainMenu -(void)onEnter { [super onEnter]; [self createAdmobAds]; } -(void)onExit { [self dismissAdView]; [super onExit]; } -(void)createAdmobAds { mBannerType = BANNER_TYPE; AppController *app = (AppController*)[[UIApplication sharedApplication] delegate]; // Create a view of the standard size at the bottom of the screen. // Available AdSize constants are explained in GADAdSize.h. if(mBannerType <= kBanner_Portrait_Bottom) mBannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait]; else mBannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerLandscape]; // Specify the ad's "unit identifier." This is your AdMob Publisher ID. mBannerView.adUnitID = MY_BANNER_UNIT_ID; // Let the runtime know which UIViewController to restore after taking // the user wherever the ad goes and add it to the view hierarchy. mBannerView.rootViewController = app.navController; [app.navController.view addSubview:mBannerView]; // Initiate a generic request to load it with an ad. [mBannerView loadRequest:[GADRequest request]]; CGSize s = [[CCDirector sharedDirector] winSize]; CGRect frame = mBannerView.frame; off_x = 0.0f; on_x = 0.0f; switch (mBannerType) { case kBanner_Portrait_Top: { off_y = -frame.size.height; on_y = 0.0f; } break; case kBanner_Portrait_Bottom: { off_y = s.height; on_y = s.height-frame.size.height; } break; case kBanner_Landscape_Top: { off_y = -frame.size.height; on_y = 0.0f; } break; case kBanner_Landscape_Bottom: { off_y = s.height; on_y = s.height-frame.size.height; } break; default: break; } frame.origin.y = off_y; frame.origin.x = off_x; mBannerView.frame = frame; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.5]; [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; frame = mBannerView.frame; frame.origin.x = on_x; frame.origin.y = on_y; mBannerView.frame = frame; [UIView commitAnimations]; } -(void)showBannerView { if (mBannerView) { [UIView animateWithDuration:0.5 delay:0.1 options: UIViewAnimationCurveEaseOut animations:^ { CGRect frame = mBannerView.frame; frame.origin.y = on_y; frame.origin.x = on_x; mBannerView.frame = frame; } completion:^(BOOL finished) { }]; } } -(void)hideBannerView { if (mBannerView) { [UIView animateWithDuration:0.5 delay:0.1 options: UIViewAnimationCurveEaseOut animations:^ { CGRect frame = mBannerView.frame; frame.origin.y = off_y; frame.origin.x = off_x; } completion:^(BOOL finished) { }]; } } -(void)dismissAdView { if (mBannerView) { [UIView animateWithDuration:0.5 delay:0.1 options: UIViewAnimationCurveEaseOut animations:^ { CGRect frame = mBannerView.frame; frame.origin.y = off_y; frame.origin.x = off_x; mBannerView.frame = frame; } completion:^(BOOL finished) { [mBannerView setDelegate:nil]; [mBannerView removeFromSuperview]; mBannerView = nil; }]; } }