0

我有一个包含 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 被移动,但在另一个场景调用它时没有移动。

4

0 回答 0