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 の箇所は整数のみ
おやくにたてたら幸いです.。゚+.(・∀・)゚+.゚
良いねとかコメントもらえると励みになります☆
関連記事
-
-
transform中の座標取得
CGAffineTransformを使用して画像を変化させている最中の座標取得方 …
-
-
SNS連携
Twitter・Facebookとの連携は #import <Social …
-
-
ステータスバーを隠す方法
Deployment Info の Status Bar Style 下部にある …
-
-
iPhone画面サイズ
3.5inch 320 x 480px (Retina 640 x 960px) …
-
-
UIImageViewにボタンを貼りたい場合
タイトル画面などを作りたい場合、UIImageViewを使用して背景などを作るこ …
-
-
ボタンに画像(背景)を指定する
// ボタンのサイズを指定する UIButton *startBtn = [[U …
-
-
SubViewの重ね順を変更する
SubViewの重ね順を最前面に移動する場合 bringSubviewToFro …
-
-
経過時間を算出する
まず比較する為の時刻を予めローカルに保存するために NSUserDefaults …
-
-
テキストの文字間を詰める
UILabelなどで文字間を詰める(カーニング)したい時がちょいちょいあると思い …
-
-
よく使うショートカット
Ctrl+6 : 表示中のクラスのメソッド一覧 さらにテキスト入力してインクリメ …
- PREV
- PostScriptの調べ方
- NEXT
- UIBezierPath
Comment
すみません。
ゲームセンターへ通知のiTunesConnectで付けたIDとは何を指すのでしょうか?
どうも初めまして
iTunesConnectでアプリの情報を登録ををしますよね?
Gamecenterで使う為のリーダーボードを作る時に「LeaderboardID」というのを登録します。
そのIDのことです。