gpt4 book ai didi

iphone - Admob banner integration in Cocos2d 2.0/Admob banner in iphone 游戏

转载 作者:可可西里 更新时间:2023-11-01 04:09:18 27 4
gpt4 key购买 nike

有谁知道如何在 cocos 2d v2 中使用 admob,所有文档都基于 View 根 Controller ,而 cocos2d 2 只是以另一种方式进行。

我找到的唯一文档是:Working-with-admob-and-cocos2d但是对于我这样的新手来说有点差。如果有人能帮助我,我将不胜感激!!

最佳答案

这是我工作的 admob cocos2d 代码:将 createAdmobAds、showBannerView、hideBannerView 和 dismissAdView 复制到您的类(class)。

这里是 Cocos2d 3.0 Admob Sample , 对于 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;

}];
}
}

关于iphone - Admob banner integration in Cocos2d 2.0/Admob banner in iphone 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14278166/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com