Xcode6 GameCenter 実装
2016/06/03
Xcode6(iOS7以上)でのGameCenter実装
検索であまり見つからなかったので、シェア( ゚∀゚)・;”.、
▽まずはGameCenterにログイン(アプリ内)
AppDelegate.h
#import <GameKit/GameKit.h>をインポート
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //gamecenterのプレイヤーを取得 GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){}; return YES; }
▽スコアを送信する前に下ごしらえ
ViewController.h
#import <GameKit/GameKit.h> @interface ViewController : UIViewController <GKGameCenterControllerDelegate> { }
ViewController.m
// ストーリボード表示 - (void)GamecenterInit { GKGameCenterViewController *leaderboardController = [GKGameCenterViewController new]; if (nil != leaderboardController) { leaderboardController.gameCenterDelegate = self; leaderboardController.viewState = GKGameCenterViewControllerStateLeaderboards; [self presentViewController:leaderboardController animated:YES completion:nil]; } } // ストーリボードを閉じる際に必要なメソッド // GKLeaderboardViewControllerのDelegate -(void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)gameCenterViewController { [self dismissViewControllerAnimated:YES completion:nil]; } // GKAchievementViewControllerのDelegate -(void)achievementViewControllerDidFinish:(GKGameCenterViewController *)viewController { [self dismissViewControllerAnimated:YES completion:nil]; } // GameCenter -(void)submitScore:(int)score forCategory:(NSString*)category { GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier:category]; scoreReporter.value = score; [GKScore reportScores:@[scoreReporter] withCompletionHandler:^(NSError *error) { if (error) { /* エラー処理 */ NSLog(@"書き込めませんでした"); } }]; }
▽ストーリーボード表示
表示する為のボタン(メソッド)に以下をコピペ
[self GamecenterInit];
▽スコアを送る方法
お好きなタイミングで(ゲーム終了とかで)下の行を添えるだけ!
// ゲームセンターへ通知 [self submitScore:755 forCategory:@"iTunesConnectで付けたID"];
注意:例として代入してある 755 の箇所は整数のみ
おやくにたてたら幸いです.。゚+.(・∀・)゚+.゚
良いねとかコメントもらえると励みになります☆
関連記事
-
-
SubViewの重ね順を変更する
SubViewの重ね順を最前面に移動する場合 bringSubviewToFro …
-
-
NSLog まとめ
デバッグする時などに、ログを出力する方法としてNSLogを使用します。 文字列を …
-
-
UIImageView 画像の差し替え
[UIImageView alloc] 後の画像を変換する時は下記コードを参照し …
-
-
ボタンに画像(背景)を指定する
// ボタンのサイズを指定する UIButton *startBtn = [[U …
-
-
UIButton 同時押し制御
UIButton *myBtn = [UIButton alloc] init] …
-
-
CGAffineTransformIdentity
アフィン変換がされたビューを,初期状態(アフィン変換がされていない状態)に戻す …
-
-
UIImageViewにボタンを貼りたい場合
タイトル画面などを作りたい場合、UIImageViewを使用して背景などを作るこ …
-
-
乱数のこと
乱数(ランダムな数)を取り出す際 rand や arc4random を使用しま …
-
-
CheatSheet
Xcodeの便利なショートカットキー 良く使ってるなと感じたら追記 Cmd+Al …
-
-
画面ローテーション
画面ローテーションを制御する場合は下記を追加する – (BOOL)s …
- PREV
- PostScriptの調べ方
- NEXT
- UIBezierPath
Comment
すみません。
ゲームセンターへ通知のiTunesConnectで付けたIDとは何を指すのでしょうか?
どうも初めまして
iTunesConnectでアプリの情報を登録ををしますよね?
Gamecenterで使う為のリーダーボードを作る時に「LeaderboardID」というのを登録します。
そのIDのことです。