首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我点击AdView时,CCMenuItem响应

当我点击AdView时,CCMenuItem响应
EN

Stack Overflow用户
提问于 2013-03-06 21:44:03
回答 1查看 181关注 0票数 0

我正在使用kobold2d v2.1.0,并根据谷歌的说明将AdMob Mediation SDK添加到我的项目中。

我创建了AdViewController并将其视图添加到rootViewController.view

AdViewController.m:

代码语言:javascript
复制
-(void)viewDidLoad
{
    [super viewDidLoad];

    // Initialize the banner at the bottom of the screen.
    CGPoint origin = CGPointMake(0.0,
                     self.view.frame.size.height -
                     CGSizeFromGADAdSize(kGADAdSizeBanner).height);

    // Use predefined GADAdSize constants to define the GADBannerView.
    self.adBanner = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner
                                               origin:origin];

    // before compiling.
    self.adBanner.adUnitID = AD_UNIT_ID;
    self.adBanner.delegate = self;
    [self.adBanner setRootViewController:self];
    [self.view addSubview:self.adBanner];
    self.adBanner.center =
    CGPointMake(self.view.center.x, self.adBanner.center.y);
    [self.adBanner loadRequest:[self createRequest]];
}

AppDelegete.m

代码语言:javascript
复制
-(void) initializationComplete
{
    adViewController = [[AdViewController alloc] init];
    [self.rootViewController.view addSubview:adViewController.view];
}

-(id) alternateView
{
    // we want to be a dummy view the self.view to which we add the glView plus all other UIKit views
    KKAppDelegate* appDelegate = (KKAppDelegate*)[UIApplication sharedApplication].delegate;

    // add a dummy UIView to the view controller, which in turn will have the glView and later other UIKit views added to it
    CGRect bounds = [appDelegate.window bounds];
    UIView* dummyView = [[UIView alloc] initWithFrame:bounds];

    [dummyView addSubview:[CCDirector sharedDirector].view];

    return dummyView;
}

当我在显示广告之前点击广告区域时,远程定位的CCMenuItem被按下,就像我点击CCMenuItem一样。

请看这个。

我认为这与this question有关,但我不知道如何解决它。

请告诉我如何防止CCMenuItem响应远程位置的窃听。

对不起,我的英语不好。

EN

回答 1

Stack Overflow用户

发布于 2013-03-07 10:27:46

我通过在CCMenu.m中更改-(CCMenuItem *) itemForTouch:(UITouch *)触摸方法解决了这个问题。

代码语言:javascript
复制
-(CCMenuItem *) itemForTouch: (UITouch *) touch
{
    //CGPoint touchLocation = [touch locationInView: [touch view]];
    /*changed*/ CGPoint touchLocation = [touch locationInView: [CCDirector sharedDirector].view];
    touchLocation = [[CCDirector sharedDirector] convertToGL: touchLocation];

    .......

}

在改变触摸视图之前是AdView,所以CCMenu得到了错误的坐标。

我指的是this question

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15248984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档