2012-04-13 4 views
0

私はゲームセンターでハードに動いています。私は数え切れないほど多くのコードをテストしました。私は自動的にここにも をスコアを提出する方法を知っているのが大好きだ は、私が使用しているが、私は、これはあなたが以下のようにGKScoreを使用する必要がスコアを報告するにはGame Center? Xcode

-(IBAction)showleaderboard:(id)sender{ 
GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc]init]; 
if (leaderboardController !=NULL) { 
    leaderboardController.category = self.currentLeaderboard; 
    leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime; 
    leaderboardController.leaderboardDelegate = self; 
    [self presentModalViewController:leaderboardController animated:YES]; 
} 

} 
-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController{ 
[self dismissModalViewControllerAnimated:YES]; 
[viewController release]; 

} 


-(IBAction)showAchivementLeaderboard:(id)sender{ 
GKAchievementViewController *achivements = [[GKAchievementViewController alloc]init]; 
if (achivements !=NULL) { 
    achivements.achievementDelegate = self; 
    [self presentModalViewController:achivements animated:YES]; 
} 
} 
-(void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController{ 
[self dismissModalViewControllerAnimated:YES]; 
[viewController release]; 

} 

self.currentLeaderboard= kEasyLeaderboardID; 
if ([gameCenterManager isGameCenterAvailible]) { 
    self.gameCenterManager= [[[GameCenterManager alloc] init] autorelease]; 
    [self.gameCenterManager setDelegate:self]; 
    [self.gameCenterManager authenticateLocalUser]; 
}else{ 

    UIAlertView *openURLAlert = [[ UIAlertView alloc] initWithTitle:@"Game Center turned off" message:@"You are not connected to game center." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [openURLAlert show]; 
    [openURLAlert release]; 
} 

答えて

1

を助けるかどうかわからないのですいくつかのコードです。

GKScore *scoreReporter = [[GKScore alloc] initWithCategory:self.gameCategory.leaderboardString]; 
scoreReporter.value = score; 

[scoreReporter reportScoreWithCompletionHandler:^(NSError *error) { 
    if (error != nil) { 

     [[KYTGlobals instance] storeScore:score forCategory:self.gameCategory.leaderboardString]; 

     } 
}]; 

上記のコードが割り当てられ、あなたはすでにあなたがのためにスコアを報告したいカテゴリのゲームセンターに設定している識別子を使用してGKScoreオブジェクトのINIT。スコアの値を更新してから、reportScoreWithCompletionHandlerを使用してエラーをテストし、スコアをアーカイブして後で報告できるようにします。

関連する問題