iOS游戏中心排行榜强制默认得分为0

时间:2016-02-17 22:41:26

标签: ios swift2 game-center game-center-leaderboard

我目前正致力于一项赛车游戏,其中玩家的目标是在尽可能短的时间内完成一项任务。

我需要为用户节省最快的时间,但游戏中心的默认时间始终为0秒。而且由于Game Center每个用户仅节省1个值,因此它会丢弃玩家的实际时间/分数。

我唯一能做的就是暂时设置排行榜以节省最长的时间。这样可以节省超过0秒的时间。然后我会将其切换回来以便更短的时间得到保存。

这显然不是生产级游戏的解决方案。

我保存或检索分数的方式有什么问题吗?我不知道如何关闭默认的0秒时间或覆盖它。

    func loadLeaderBoard(level level:Int){
    let leaderboardRequest = GKLeaderboard() as GKLeaderboard!
    leaderboardRequest.identifier = "level\(level)ID"
    if leaderboardRequest != nil {
        leaderboardRequest.loadScoresWithCompletionHandler({ (score, error) -> Void in
            if error != nil {
                print(error)
            } else {
                if let myscore:[GKScore] = score {
                    self.records.updateValue(myscore.first!.formattedValue!, forKey: level)
                }
            }
        })
    }
}


func recordTime(level level: Int, record:Int64){
    let score = GKScore(leaderboardIdentifier: "level1ID")
    score.value = record
    GKScore.reportScores([score]) { (error) -> Void in
        if error != nil {
            print(error)
        }else {
            print("Score reported: \(score.value)")
        }
    }
}

enter image description here

0 个答案:

没有答案