Chr*_*rdi 5 gamekit game-center sprite-kit game-center-leaderboard swift
我正在开发一款游戏,我正在寻找帮助或代码,以便在用户单击按钮时在我的应用程序中显示 GameCenter 排行榜。我不知道从哪里开始,因为所有其他答案似乎都是针对 Obj-C 的,谢谢!
编辑:下面的答案工作得很好,但是对于那些想知道如何在 SpriteKit 中执行此操作的人,只需将以下方法GameViewController添加到并添加一个通知中心观察者
NSNotificationCenter.defaultCenter().addObserver(self, selector: "showLeaderboard", name: "showLeaderboard", object: nil)
Run Code Online (Sandbox Code Playgroud)
在您的SKScene班级中,只需调用该观察者即可。
NSNotificationCenter.defaultCenter().postNotificationName("showLeaderboard", object: nil)
Run Code Online (Sandbox Code Playgroud)
只是为了帮助那些疑惑的人!
将协议包含GKGameCenterControllerDelegate在您的类中。
class ViewController: UIViewController, GKGameCenterControllerDelegate
Run Code Online (Sandbox Code Playgroud)
当点击“完成”时,此方法将关闭游戏中心视图:
func gameCenterViewControllerDidFinish(gcViewController: GKGameCenterViewController!) {
self.dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
该函数包含显示排行榜所需的代码:
func showLeaderboard() {
// declare the Game Center viewController
var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
gcViewController.gameCenterDelegate = self
gcViewController.viewState = GKGameCenterViewControllerState.Leaderboards
// Remember to replace "Best Score" with your Leaderboard ID (which you have created in iTunes Connect)
gcViewController.leaderboardIdentifier = "Best_Score"
// Finally present the Game Center ViewController
self.showViewController(gcViewController, sender: self)
self.navigationController?.pushViewController(gcViewController, animated: true)
self.presentViewController(gcViewController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
showLeaderboard您现在可以通过按 a 来触发该功能UIButton:
@IBAction func buttonShowLeaderboard(sender: AnyObject) {
showLeaderboard()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |