我有一个奇怪的问题,只发生在我的游戏的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];
}
有人有什么想法吗?如果我能提供更多信息,请告诉我。感谢。
答案 0 :(得分:1)
您没有提供足够的代码。我发现你目前显示的代码没有错误。您最有可能导致黑屏(取决于您的工作方式)是计时器已被中断,您可能需要重置它们
- (void) onEnter;
或
- (void) onEnterTransitionDidFinish;
如果不是,那么发布更多代码,我会回来查看。我们需要查看视图何时呈现以及应该返回的内容。
答案 1 :(得分:0)
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
[tempVC dismissModalViewControllerAnimated:YES];
**[tempVC.view removeFromSuperview];**
}