在UILabels中显示游戏中心的高分

时间:2012-06-19 06:44:13

标签: iphone ios xcode game-center

我正在制作一款基于回合制的iPhone游戏,最多有2名玩家,在我的游戏中你可以得到一个将被放入游戏中心排行榜的分数。下次开始游戏时,您的最高分将被检索,并且您可以使其更高,因为该应用程序依赖于之前的高分。我找到了一些代码来获得经过验证的玩家得分但是我还想显示你正在玩的对手得分,我想知道怎么做?

这是我为经过身份验证的玩家(您自己)找到的代码

 if([GKLocalPlayer localPlayer].authenticated) {
NSArray *arr = [[NSArray alloc] initWithObjects:[GKLocalPlayer localPlayer].playerID, nil];
GKLeaderboard *board = [[GKLeaderboard alloc] initWithPlayerIDs:arr];
if(board != nil) {
    board.timeScope = GKLeaderboardTimeScopeAllTime;
    board.range = NSMakeRange(1, 1);
    board.category = @"MY_LEADERBOARD";
    [board loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
        if (error != nil) {
            // handle the error.
            NSLog(@"Error retrieving score.", nil);
        }
        if (scores != nil) {
            NSLog(@"My Score: %i", ((GKScore*)[scores objectAtIndex:0]).value);
        }
    }];
}
[board release];
[arr release];
}

有没有办法修改它,这样它会显示我想要的东西? 我也有问题显示NSLog(@“我的分数:%i”,((GKScore *)[得分objectAtIndex:0])。值); 在UILabel:S

希望有人可以帮助我

1 个答案:

答案 0 :(得分:0)

NSLog(@“我的分数:%lld”,((GKScore *)[得分objectAtIndex:0])。值);

得分值是64位整数,而不是int的

的intValue 的longValue longLongValue<< ==