0

私は kobold2d v2.1.0 を使用しており、Google の指示に従って AdMob Mediation SDK をプロジェクトに追加しました。

AdViewControllerそのビューを作成して に追加しましたrootViewController.view

AdViewController.m:

-(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

-(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ます。

これを見てください

画像

これはこの質問に関連していると思いますが、解決方法がわかりません。

CCMenuItem離れた場所のタップに反応しないようにする方法を教えてください。

英語が苦手ですみません。

4

1 に答える 1

0

-(CCMenuItem *) itemForTouch: (UITouch *) CCMenu.m の touch メソッドを変更して問題を解決しました。

-(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 の座標がずれていました。

私はこの質問に言及していました。

于 2013-03-07T02:27:46.077 に答える