cocos2d-x 3.0でのiOSアプリに対するGameCenterの実装
cocos2d-x 3.0を使い作っているゲームにランキングボードの実装を行いたかったので、iOSアプリ側ではGameCenterを使ってランキングボードの実装を行います。iOSのGameCenterとはオンラインでのマッチング、取得スコアの共有、ランキングなどオンラインゲームに必要なソーシャル機能を提供するiOS4から実装されたサービス群です。現在作っているゲームでは、ランキング機能の実装を行いたかったためiOSではGameCenterを利用します。GameCenterを使えば、自前でサーバサイドを作る手間もなくなるしね!
Androidでは2013年から、 Google Play game servicesという名前で同様のサービスが提供されています。今回作成しているゲームは、両方のプラットフォームで提供する予定のためAndroidでは、Google Play game servicesを使ってランキング機能の実装を行う予定ですが、まずiOSのGameCenterの実装方法について説明していきます。
実装の前準備
GameCenterを使いたい場合、コードを書く前にちょっとした前準備が必要になります。まず、iTunesConnectで、アプリケーションの登録が必要です。
とりあえずGameCenterの実装の確認をしたいだけなのでバイナリのアップロード等はする必要はありませんが、アイコンなどの準備は必要です。とりあえずダミーのアイコンを容易してアプリケーションの登録を行いました。
アプリケーションの登録が完了したら、そのアプリケーションの詳細からGameCenterの設定を行います。
デフォルトでGameCenterはオフになっているのでオンにしましょう。あと今回は、ランキング機能を使いたいのでLeaderBoardを追加します。LeaderBoardはランキング機能で、他にもAchievementsといったゲームの達成状況に合わせて称号などを設定できる機能などもありますが今回は利用しません。
LeaderBoardの追加には以下を設定する必要があります。
- Leaderboard Reference Name
ランキングを識別する内部的な名前。好きな名前をつけましょう。
- Leaderboard ID
ランキングを識別できる一意なIDです。これを使ってコードからランキングボードの参照などを行います。
- Score Format Type
スコアのタイプ、int型なのかdecimalなのか、状況に合わせて設定してください。
- Score Submission Type
スコアの種類。ランキング上位を表示するのか、多くの人が取得しているスコアを表示したいのかを選択します。
- Sort Order
スコアの並び順
あとは、バージョンごとにGameCenterの設定を行っていきます。
バージョンの詳細画面から、GameCenterをオンにして先ほど作成したリーダーボードを追加します。
me
これでGameCenterを利用するためのitunesConnect上での設定は一通り終わりです。
次回は、Xcodeでの実装方法を説明していきますー。
あ!ここまでだとcocos2d-xは何も関係なかった。。