GameCenter 与 SpriteKit 的集成
GameCenter Integration with SpriteKit
我只是想在我制作的游戏中记录单个游戏模式的高分。我在 iTunes Connect 的 Game Center 中设置了排行榜。
所以,我的问题是,如何将其集成到我的游戏中?我见过其他解决方案,但似乎无法弄清楚它们如何适合我的项目。
谢谢!
- 在您的视图控制器中实现
GKGameCenterControllerDelegate
创建本地播放器
var localPlayer: GKLocalPlayer = GKLocalPlayer.localPlayer()
在viewDidLoad
游戏中心对玩家进行鉴权,并提示鉴权成功
localPlayer.authenticateHandler = {(ViewController, error) -> Void in
if((ViewController) != nil) {
self.presentViewController(ViewController, animated: true, completion: nil)
}
}
在游戏的任何地方报告你的分数
if (GKLocalPlayer.localPlayer().authenticated) {
let gkScore = GKScore(leaderboardIdentifier: "YOUR-LEADERBOARD-ID")
gkScore.value = Int64(YOUR-SCORE)
GKScore.reportScores([gkScore], withCompletionHandler: ( { (error: NSError!) -> Void in
if (error != nil) {
// handle error
println("Error: " + error.localizedDescription);
} else {
println("Score reported: \(gkScore.value)")
}
}))
}
我只是想在我制作的游戏中记录单个游戏模式的高分。我在 iTunes Connect 的 Game Center 中设置了排行榜。
所以,我的问题是,如何将其集成到我的游戏中?我见过其他解决方案,但似乎无法弄清楚它们如何适合我的项目。
谢谢!
- 在您的视图控制器中实现
GKGameCenterControllerDelegate
创建本地播放器
var localPlayer: GKLocalPlayer = GKLocalPlayer.localPlayer()
在
viewDidLoad
游戏中心对玩家进行鉴权,并提示鉴权成功localPlayer.authenticateHandler = {(ViewController, error) -> Void in if((ViewController) != nil) { self.presentViewController(ViewController, animated: true, completion: nil) } }
在游戏的任何地方报告你的分数
if (GKLocalPlayer.localPlayer().authenticated) { let gkScore = GKScore(leaderboardIdentifier: "YOUR-LEADERBOARD-ID") gkScore.value = Int64(YOUR-SCORE) GKScore.reportScores([gkScore], withCompletionHandler: ( { (error: NSError!) -> Void in if (error != nil) { // handle error println("Error: " + error.localizedDescription); } else { println("Score reported: \(gkScore.value)") } })) }