ゲームのプレイ中の画面を録画/共有することのできるLobi REC SDKの導入メモです。
SDK の取得
SDK は github 上で公開されているので
$ cd <WORK_DIR>
$ git clone git@github.com:kayac/Lobi.git
Cloning into 'Lobi'...
remote: Counting objects: 4133, done.
remote: Compressing objects: 100% (2820/2820), done.
remote: Total 4133 (delta 1246), reused 4121 (delta 1234)
Receiving objects: 100% (4133/4133), 54.25 MiB | 938 KiB/s, done.
Resolving deltas: 100% (1246/1246), done.
Checking out files: 100% (4201/4201), done.
と普通の git リポジトリとおんなじように取得できます。
アプリケーションの登録
NOTE
サンプルアプリにクライアント ID が最初から登録されているので試すだけなら必要ないかも
SDK を取得したのですが、 Lobi のサービスにアプリケーション登録してクライアント ID を取得する必要があります。
Twitter/Facebook 等の外部サービスを利用するのと一緒ですね。
Lobi のアプリケーション登録ページにいくとユーザ登録画面なのですが、まずLobiのアカウントが必要みたいなのでiOS/Androidのアプリからユーザを作り、再度Lobi のアプリケーション登録ページでログイン完了しました。
サンプルアプリの起動
$ cd Lobi
$ tree -L 2
.
├── LobiRankingSDK
│ ├── README.md
│ └── android
├── LobiRecSDK
│ ├── LobiRanking.bundle
│ ├── doc
│ ├── header
│ └── lib
├── README.md
├── Unity
│ ├── README.md
│ ├── lobirec.unitypackage
│ ├── unity_sample
│ └── unity_xcode_sample
├── cocos2d
│ └── RecTest <= 今回使うのはこれ
└── cocos2dx
├── CocosDenshion
├── cocos2dx
├── extensions
├── external
├── licenses
└── projects
Cocos2d のサンプルプロジェクトはこんな感じです。
$ cd cocos2d
$ tree -L 3
.
└── RecTest
├── DerivedData
│ └── RecTest
├── RecTest
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── HelloWorldLayer.h
│ ├── HelloWorldLayer.m
│ ├── IntroLayer.h
│ ├── IntroLayer.m
│ ├── Prefix.pch
│ ├── Resources
│ ├── libs
│ └── main.m
└── RecTest.xcodeproj
├── project.pbxproj
├── project.xcworkspace
└── xcuserdata
まず RecTest/RecTest/AppDelegate.m
でクライアント ID を設定します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[KLRConfiguration currentConfiguration].clientID
= @"今回所得したクライアント ID";
[KLRConfiguration currentConfiguration].accountBaseName
= @"動画を投稿する際に自動で作られるデフォルトのユーザ名";
あとは実機で動かすだけ。
ドキュメント
導入ドキュメントはここにあります。また、詳細な API ドキュメントは Lobi/LobiRecSDK/doc/index.html
に書かれています。
この処理が面白そう。
preventSpoiler
録画中このプロパティがtrueの間、ゲーム録画ファイルにモザイク処理がかかります。