【问题标题】:How do you integrate Game Center into a iOS Application in Xcode 6 with spite kit using the language Swift?如何使用 Swift 语言将 Game Center 集成到 Xcode 6 中的 iOS 应用程序中?
【发布时间】:2015-03-05 22:57:21
【问题描述】:

如何使用编程语言设置为 swift 的游戏技术 Sprite Kit 在 Xcode 6 中将 Game Center 排行榜和成就添加到 iOS 应用程序?

【问题讨论】:

  • 套用理查德·费曼的话说:“你从头开始,尽可能多地阅读,直到你迷路。”然后回来问一个具体的问题。

标签: ios xcode sprite-kit game-center game-center-leaderboard


【解决方案1】:

这是我的游戏中心代码。你将把它放在你的游戏场景代码中。 您必须在 iTunes Connect 中创建排行榜,并且您的排行榜名称必须与您在代码中输入的一致。 (我称之为“排行榜名称”)。将此委托添加到您的类 GKGameCenterControllerDelegate 的顶部也非常重要

//MARK: GameCenter

//send high score to leaderboard
func saveHighscore(score:Int) {

    //check if user is signed in
    if GKLocalPlayer.localPlayer().authenticated {

        var scoreReporter = GKScore(leaderboardIdentifier: "leaderboardName") //leaderboard id here

        scoreReporter.value = Int64(score) //score variable here (same as above)

        var scoreArray: [GKScore] = [scoreReporter]

        GKScore.reportScores(scoreArray, {(error : NSError!) -> Void in
            if error != nil {
                println("error")
            }
        })

    }

}


//shows leaderboard screen
func showLeader() {
    var vc = self.view?.window?.rootViewController
    var gc = GKGameCenterViewController()
    gc.gameCenterDelegate = self
    vc?.presentViewController(gc, animated: true, completion: nil)
}

//hides leaderboard screen
func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController!)
{
    gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)

}

//initiate gamecenter
func authenticateLocalPlayer(){

    var localPlayer = GKLocalPlayer.localPlayer()

    localPlayer.authenticateHandler = {(viewController, error) -> Void in

        if (viewController != nil) {
            let vc: UIViewController = self.view!.window!.rootViewController!
            vc.presentViewController(viewController, animated: true, completion: nil)
        }

        else {
            println((GKLocalPlayer.localPlayer().authenticated))
        }
    }

}

【讨论】:

    猜你喜欢
    • 2017-12-12
    • 1970-01-01
    • 2014-09-12
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    相关资源
    最近更新 更多