1

ビューにリーダーボードを表示するためのこのコードがあります

.h

UIViewController *presentingViewController;
{

@property (retain) UIViewController *presentingViewController;

.m

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

        GKLeaderboardViewController *lb = [[GKLeaderboardViewController alloc] init];
        if(lb != nil){
            lb.leaderboardDelegate = self;
            presentingViewController = [[UIViewController alloc] init];
            [[[[CCDirector sharedDirector] openGLView] window] addSubview:presentingViewController.view];
            [presentingViewController presentModalViewController:lb animated:YES];

}

うまくいきました。リードボードが表示されました。完了ボタンをタップすると消えますが、ゲームセンターボタンをタップすると、リーダーボードが表示されず、他のページもナビゲートできません。

上記のコードの問題は何ですか、これはiphonecocos2dアプリ用です

前もって感謝します。

4

1 に答える 1

1

私はこのコードをcocos2Dゲームで使用し、うまく機能しました。

-(void)displayLeaderboard
{
    GKLeaderboardViewController *leaderboardViewController = [[GKLeaderboardViewController alloc] init];
    leaderboardViewController.leaderboardDelegate = self;

    AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];

    [app.navController presentModalViewController:leaderboardViewController animated:YES];
}


#pragma mark GameKit delegate

-(void) achievementViewControllerDidFinish:(GKAchievementViewController *)viewController
{
    AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
    [app.navController dismissModalViewControllerAnimated:YES];
}

-(void) leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    AppController *app = (AppController*) [[UIApplication sharedApplication] delegate];
    [app.navController dismissModalViewControllerAnimated:YES];
}
于 2012-10-06T13:46:43.810 に答える