iOS
GameCenter 리더 보드
수색…
GameCenter 리더 보드
선수 과목 :
- Apple 개발자 계정
- iTunesConnect가 설치된 GameCenter 리더 보드 설치
GameCenter 리더 보드 설정 :
- iTunesConnect에 로그인 하십시오.
- 내 Apps로 이동하십시오. 프로젝트 용 앱을 만든 다음 기능으로 이동하십시오.
- Game Center를 클릭하십시오.
- 리더 보드 옆에있는 더하기 기호를 클릭하십시오.
- 리더 보드 유형에 대해 단일 리더 보드 를 선택하십시오.
- 참조 할 수있는 리더 보드 참조 이름 을 만듭니다.
- 점수를보고 할 때 앱이 참조 할 리더 보드 ID 를 만듭니다.
- 점수 형식을 정수 로 설정하십시오.
- 점수 제출은 최고 점수 가 될 것입니다.
- 언어 추가를 클릭하고 항목을 채 웁니다.
자신이 만든 LeaderboardID
를 복사하고 Xcode로 향합니다.
Xcode로 작업하기
우리가 작업 할 4 가지 기능이 있습니다.
프레임 워크 가져 오기 및 프로토콜 설정
사용자가 GameCenter에 로그인했는지 확인하기
점수를 GameCenter에보고
리더 보드보기
GKGameCenterControllerDelegate
가져 오기 가져import GameKit
프로토콜GKGameCenterControllerDelegate
이제 사용자가 GameCenter에 로그인했는지 확인하려고합니다.
func authenticateLocalPlayer() {
let localPlayer = GKLocalPlayer.localPlayer()
localPlayer.authenticateHandler = { (viewController, error) -> Void in
if viewController != nil {
//If the user is not signed in to GameCenter, we make them sign in
let vc:UIViewController = self.view!.window!.rootViewController!
vc.presentViewController(viewController!, animated: true, completion: nil)
} else {
//Do something here if you want
}
}
}
- 이제 사용자가 앱을 사용하고 갑자기 사용자가 새로운 높은 점수를 얻었을 때 우리는 아래 함수를 호출하여 최고 점수를보고합니다.
아래 함수는 2 개의 매개 변수를 포함합니다.
Identifier
문자열로 정의하고 iTunesConnect에서 만든 당신의 leaderboardID를 입력하는 데 사용됩니다.
score
사용자됩니다 int로 정의된다 iTunesConnect에 제출 점수
func saveHighScore(identifier:String, score:Int) {
if GKLocalPlayer.localPlayer().authenticated {
let scoreReporter = GKScore(leaderboardIdentifier: identifier)
scoreReporter.value = Int64(score)
let scoreArray:[GKScore] = [scoreReporter]
GKScore.reportScores(scoreArray, withCompletionHandler: {
error -> Void in
if error != nil {
print("Error")
} else {
}
})
}
}
- 이제 사용자가 리더 보드를보고 싶다면 아래 함수를 호출하십시오.
//This function will show GameCenter leaderboards and Achievements if you call this function.
func showGameCenter() {
let gameCenterViewController = GKGameCenterViewController()
gameCenterViewController.gameCenterDelegate = self
let vc:UIViewController = self.view!.window!.rootViewController!
vc.presentViewController(gameCenterViewController, animated: true, completion:nil)
}
//This function closes gameCenter after showing.
func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController) {
gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
self.gameCenterAchievements.removeAll()
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow