游戏中心? Xcode中

时间:2012-04-13 14:24:07

标签: xcode center game-center gamekit

我一直在游戏中心努力工作。我已经测试了很多我已经丢失的代码。 我很想知道如何自动提交分数 这里有一些我用过的代码,但我不确定这是否有用

-(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 个答案:

答案 0 :(得分: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];

        }
 }];

上面的代码使用您已在游戏中心设置的标识符为您要报告分数的类别分配和插入GKScore对象。您更新分数的值,然后使用reportScoreWithCompletionHandler确保测试错误,以便您可以归档分数并在以后报告。