3

试图测试排行榜。我这样做:

GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
    if (leaderboardRequest != nil)
    {
        leaderboardRequest.playerScope = GKLeaderboardPlayerScopeGlobal;
        leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
        leaderboardRequest.category = self.gameData.leaderboardId;
        leaderboardRequest.range = NSMakeRange(1,10);
        [leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
            if (error != nil)
            {
                // Handle the error.
            }
            if (scores != nil)
            {
                for (GKScore *score in scores) {
                    NSLog(@"score retrieved: %lld", score.value);
                }
            }
        }];
    }

我和用户 A 在一台设备上玩游戏,得到 137 分。当我查询排行榜时,我得到一个 137 分。我和用户 B 在另一台设备上玩,得分 243,当我查询排行榜时只得到 243 分。

那么为什么我只从登录的用户那里得到分数呢?显然我需要每个人的分数来创建自定义排行榜。我的理解是 GKLeaderboardPlayerScopeGlobal 应该检索所有分数,而不仅仅是本地用户的分数。

4

0 回答 0