2012-04-13 2 views
0

게임 센터에서 열심히 노력하고 있습니다. 나는 잃어버린 수많은 코드들을 테스트 해 보았습니다. 나는 자동으로 여기뿐만 아니라 점수를 제출 내가 사용하고 일부 코드가하는 방법을 알고 싶어요 그러나 이것은게임 센터? 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을 사용할 필요가 점수를보고하는 데 도움이 될 것입니다 있는지 확실하지 않다;

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]; 

     } 
}]; 

위의 코드를 할당하고 당신은 이미 당신에 대한 점수를보고 할 범주를위한 게임 센터에 설정 한 ID를 사용하여 GKScore 객체 inits. 점수 값을 업데이트 한 다음 reportScoreWithCompletionHandler를 사용하여 오류를 테스트하여 나중에 점수를 저장하고보고 할 수 있습니다.