【问题标题】:cocos2d Scene goes black after GameCenter leaderboard dismissalGameCenter 排行榜关闭后 cocos2d 场景变黑
【发布时间】:2014-05-30 22:41:47
【问题描述】:

我遇到了一个奇怪的问题,它只出现在我的游戏的 iPad 版本上。当我调出 GameCenter 排行榜时,它看起来很正常。那里没有问题。但是当你点击关闭按钮时,排行榜消失并且 cocos2d 场景变黑。没有错误,什么都没有。我所做的一切都无法让屏幕恢复原状。我试过恢复导演,甚至在类似的线程上尝试了一些解决方案。

这是我在 cocos2d 场景中的代码。 GCController 只是 RootViewController 的一个子类,没什么特别的:

tempVC = [[GCController alloc] init];

GKLeaderboardViewController *leaderboardController = [[[GKLeaderboardViewController   alloc] init] autorelease];

if (leaderboardController != nil)
{
    leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime;
    leaderboardController.category = [NSString stringWithFormat:@"%@%@", [self  cleanString:selectedSong], @"TotalHD"];
    leaderboardController.leaderboardDelegate = self;
    [[[CCDirector sharedDirector] openGLView] addSubview:tempVC.view];
    [tempVC presentModalViewController:leaderboardController animated:YES];
}

- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    [tempVC dismissModalViewControllerAnimated:YES];
    [tempVC.view.superview removeFromSuperview];
    [tempVC release];
}

有人有什么想法吗?如果我可以提供更多信息,请告诉我。谢谢。

【问题讨论】:

    标签: iphone uiviewcontroller cocos2d-iphone game-center


    【解决方案1】:

    您没有提供足够的代码。我认为您目前显示的代码没有错误。黑屏最可能的原因(取决于您的操作方式)是计时器已被中断,您可能需要重置它们

    - (void) onEnter;
    

    - (void) onEnterTransitionDidFinish;
    

    如果不是这样,请发布更多代码,我会回来查看。我们需要查看视图何时呈现以及它应该返回到什么位置。

    【讨论】:

      【解决方案2】:
      - (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
      {
          [tempVC dismissModalViewControllerAnimated:YES];
      
          **[tempVC.view removeFromSuperview];**
      
      }
      

      【讨论】:

      • 上述代码描述的意思是我确实只将语句 temvc.view.Superview 更改为 tempvc.view
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多