在GameCenter排行榜被解雇后,cocos2d场景变黑

时间:2011-06-26 06:46:25

标签: iphone uiviewcontroller cocos2d-iphone game-center

我有一个奇怪的问题,只发生在我的游戏的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];
}

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

2 个答案:

答案 0 :(得分:1)

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

- (void) onEnter;

- (void) onEnterTransitionDidFinish;

如果不是,那么发布更多代码,我会回来查看。我们需要查看视图何时呈现以及应该返回的内容。

答案 1 :(得分:0)

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