在我向记分牌提交高分后,我正试图在游戏中心获得玩家的全球排名。但是我找不到任何关于这样做的文档,我也担心“得分参数”不会立即准确。
如何在Gamecenter中获得球员排名。
这是我目前的分数提交代码
if GKLocalPlayer.localPlayer().authenticated
{
let scoreReporter = GKScore(leaderboardIdentifier: "MY APP")
scoreReporter.value = Int64(score)
let scoreArray: [GKScore] = [scoreReporter]
GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError?) -> Void in
if error != nil
{
print("Good 2")
}
else
{
print("Good 1")
}
})
}
答案 0 :(得分:1)
GKScore有一个名为rank的属性。它报告玩家的等级为 每个排行榜规格。
let leaderBoard : GKLeaderboard = GKLeaderboard()
leaderBoard.timeScope = .AllTime
leaderBoard.range = NSMakeRange(1, 1)
leaderBoard.identifier = "Your Leaderboard ID"
leaderBoard.loadScoresWithCompletionHandler { (score : [GKScore]?, error:NSError?) -> Void in
if(error != nil){
// Handle Error
}else{
if(score?.count > 0){
let score : GKScore = leaderBoard.localPlayerScore!
let rank : NSInteger = score.rank
print("rank \(rank)")
}
}
}