1

我有将我的分数提交到游戏中心的代码,但是每当我在游戏中心提交分数时,它说我的分数是 0。我不确定这是怎么发生的?我还导入了 GameKit 框架。

-(IBAction)submitScore{
    if (highscore>0) {
        GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:@"MyLeaderBoardID"] autorelease];

        scoreReporter.value = [[NSNumber numberWithInt:highscore] longLongValue];
        NSLog(@"posted");
        NSLog(@"%i",highscore);

        [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
            if (error != nil) {
                NSLog(@"failed!!!");
                NSLog(@"%i",highscore);
            } else {
                NSLog(@"Succeded");
            }
        }];
    }

我也有用于登录的代码:

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {
    if (error == nil) {
        NSLog(@"authintication success");
    } else {
        NSLog(@"authintication failed");
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Game Center Disabled"
                                                        message:@"For Game Center make sure you have an account and you have a proper device connection."
                                                       delegate:self
                                              cancelButtonTitle:@"Ok"
                                              otherButtonTitles:nil];
        [alert show];
    }
}];

self.currentLeaderBoard = @"MyLeaderBoardID";
4

1 回答 1

0

仅供参考,你的分数是多少?

您应该有两个不同的变量来读取旧分数和新分数。如果您的新分数大于旧分数,则您希望将该 if 语句设置为 true。将其设置为大于零将使其在每次用户得分大于 0 时不断变化。

于 2014-02-18T19:22:51.700 回答