1

我有一个使用 Game Center 的游戏。

我正在玩游戏,当游戏结束时,我将我的分数发送给 GC。之后,我用下面的方法检查我的分数。

- (void)showLeaderboard
{   
    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
    if (leaderboardController != NULL)
    {
        leaderboardController.category = self.currentLeaderBoard;
        leaderboardController.timeScope = GKLeaderboardTimeScopeAllTime;
        leaderboardController.leaderboardDelegate = self;

        UnityAppController* delegate = (UnityAppController*)[[UIApplication sharedApplication] delegate];

        [[delegate rootViewController] presentViewController:leaderboardController animated:YES completion:nil];

    }
}

这很好用,当我检查它时,我可以在排行榜上看到我最近的分数。

但问题开始之后。第二天,当我再次使用该showLeaderboard()方法检查时,排行榜显示“没有得分”。如果我玩游戏并再次发送我的分数,它会再次正常工作,我可以看到我的分数!但是,第二天排行榜又对我说“没有得分”!就像排行榜在 00.00 点自动重置一样.. 只是尴尬..

有什么建议么?提前致谢..

4

1 回答 1

0

只需确保您使用正确的代码来提交分数即可。这是我非常喜欢的一种方式。即使您会收到警告,因为他们不希望您在 iOS 7 中使用它,但它仍然有效。如果它不起作用,请告诉我。

(IBAction)submitscoretogamecenter{

GKLocalPlayer *localplayer = [GKLocalPlayer localPlayer];
[localplayer authenticateWithCompletionHandler:^(NSError *error) {

}];
//This is the same category id you set in your itunes connect GameCenter LeaderBoard
GKScore *myScoreValue = [[[GKScore alloc] initWithCategory:@"insertCategory"] autorelease];
myScoreValue.value = scoreInt;

[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){

    //insert what happens after it's posted 

}];
[self checkAchievements];

}

于 2014-04-13T13:21:43.923 回答