我有一个包含 iAd 的 HUD 层,该层具有将广告移出屏幕的功能。我使用此代码将 HUD 层添加到我拥有的场景之一:
CCScene *scene = [CCScene node];
hudLayer *hud = [hudLayer node];
[scene addChild:hud z:1 tag:5];
MainMenuView *layer = [[[MainMenuView alloc] initWithHud:hud] autorelease];
[scene addChild:layer];
return scene;
hudLayer 是 iAd 类文件名。
现在,当我转到另一个场景时,即使我在另一个场景中添加了 HUD 图层,它仍然存在。我尝试通过使用以下代码移动 iAd 的位置来解决此问题:
-(void)hideBanner:(BOOL)sender {
if (sender) {
[bannerView setCenter:CGPointMake([CCDirector sharedDirector].winSize.width/2,
320+bannerView.frame.size.height/2)];
}
else {
[bannerView setCenter:CGPointMake([CCDirector sharedDirector].winSize.width/2,
320-bannerView.frame.size.height/2)];
}
}
在场景中,我添加了 HUD 层,我有一个按钮,该按钮调用一个将场景切换到另一个场景的函数,并使用以下代码调用上面的函数:
hudLayer *a = [[hudLayer alloc] init];
[a hideBanner:YES];
该函数被调用,但 iAd 没有移动。我尝试从 HUD 图层 init 函数调用相同的函数,并且 iAd 被移动,但在另一个场景调用它时没有移动。