Когда я нажимаю AdView, CCMenuItem отвечает
Я использую kobold2d v2.1.0 и добавил AdMob Mediation SDK в свой проект в соответствии с инструкциями Google.
я создал 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
ответить на нажатие удаленного местоположения.
Извините, я не очень хорош в английском.
1 ответ
Я решил проблему, изменив -(CCMenuItem *) itemForTouch: (UITouch *) метод Touch в CCMenu.m.
-(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 получил неправильные координаты.
Я имел в виду этот вопрос.