2011-10-29
2011-10-18
Unity3DとOpenFeintの連携メモ(Android)
TowerOfMazeでUnity3DとOpenFeintを連携させたときのメモ-Android編。
Step1
Unity用のEclipseでの環境を整える。Indigoでもだいじょうぶ。
@ITのgreeの方の書かれた記事を見るか、もしくはUnityの公式ドキュメント(Integrate Eclipseなんちゃら)に従い、Eclipseでの環境を整える。
この段階では、単純に
・UnityPlayerActivity(2.3以上向けならProxyActivity)を継承したクラスを作成
・BuildされたTemp/ほにゃらら/assets/以下をEclipseプロジェクトのassetsにコピー
・Eclipseから実機を起動する(Unity上でのBuild and Runは使用しない)
を確認する。
なお、Temp以下はUnityでplatformをAndroidにして、一度ビルドしないと出現しないので注意。
Step2
次にOpenFentのSDKを参照できるようにする。jarでは提供されていない?ので、プロジェクトをインポートする
・OpenFeintのAndroid用SDKをダウンロードし、OpenFeintAPIのプロジェクトをimportする。
・プロジェクトを右クリックし、Androidを選んでis Libraryにチェックを入れる
(最初から入ってるかも)
・Step1で作成したプロジェクトを右クリックし、Configure Build Pathを選択
・左メニューからAndroidを選んでLibraryのAddを選択し、OpenFeint APIを追加する。
(UnityPlayerの環境を整えるのと同じやり方)
Step3
Eclipseでクラスを用意する。OpenFeintPluginなどとする。このクラスをUnity側から呼び出す形になる。メソッドはすべてstaticにする。最初はLaunchDashbordだけとかがいいでしょう。(OpenFeint側の公開メソッドはほとんどstaticで実装されている。)
Step4
Unity側でクラスを書く。Assets/Plugins/Android以下におくのが望ましい。
AndroidJavaClassを使用するので、もし同じソースでiOSなど別のPlatformでBuildする場合は当然エラーになるので、クラス全体を
#if UNITY_ANDROID
#endif
で括る。また、Unity上でPlayしたときに、スルーするように
Application.isEditor を使って分岐する。
以下Step3とStep4を繰り返し、Eclipse側でコードを追加し、それをUnity側で
AndroidJavaClassを使って呼び出す。
おまけ
OpenFeintで何かイベントが発生した場合に(ログインしたとか)なにかしたい場合は
自分でOpenFeintDelegateを継承したDelegateクラスを書き、
OpenFeint.initializeの第3引数にそのインスタンスを渡せばよい。
Step1
Unity用のEclipseでの環境を整える。Indigoでもだいじょうぶ。
@ITのgreeの方の書かれた記事を見るか、もしくはUnityの公式ドキュメント(Integrate Eclipseなんちゃら)に従い、Eclipseでの環境を整える。
この段階では、単純に
・UnityPlayerActivity(2.3以上向けならProxyActivity)を継承したクラスを作成
・BuildされたTemp/ほにゃらら/assets/以下をEclipseプロジェクトのassetsにコピー
・Eclipseから実機を起動する(Unity上でのBuild and Runは使用しない)
を確認する。
なお、Temp以下はUnityでplatformをAndroidにして、一度ビルドしないと出現しないので注意。
Step2
次にOpenFentのSDKを参照できるようにする。jarでは提供されていない?ので、プロジェクトをインポートする
・OpenFeintのAndroid用SDKをダウンロードし、OpenFeintAPIのプロジェクトをimportする。
・プロジェクトを右クリックし、Androidを選んでis Libraryにチェックを入れる
(最初から入ってるかも)
・Step1で作成したプロジェクトを右クリックし、Configure Build Pathを選択
・左メニューからAndroidを選んでLibraryのAddを選択し、OpenFeint APIを追加する。
(UnityPlayerの環境を整えるのと同じやり方)
Step3
Eclipseでクラスを用意する。OpenFeintPluginなどとする。このクラスをUnity側から呼び出す形になる。メソッドはすべてstaticにする。最初はLaunchDashbordだけとかがいいでしょう。(OpenFeint側の公開メソッドはほとんどstaticで実装されている。)
Step4
Unity側でクラスを書く。Assets/Plugins/Android以下におくのが望ましい。
AndroidJavaClassを使用するので、もし同じソースでiOSなど別のPlatformでBuildする場合は当然エラーになるので、クラス全体を
#if UNITY_ANDROID
#endif
で括る。また、Unity上でPlayしたときに、スルーするように
Application.isEditor を使って分岐する。
以下Step3とStep4を繰り返し、Eclipse側でコードを追加し、それをUnity側で
AndroidJavaClassを使って呼び出す。
おまけ
OpenFeintで何かイベントが発生した場合に(ログインしたとか)なにかしたい場合は
自分でOpenFeintDelegateを継承したDelegateクラスを書き、
OpenFeint.initializeの第3引数にそのインスタンスを渡せばよい。
OpenFeint.initialize(currentActivity, settings, new MyOpenFeintDelegate());
2011-10-17
The Tower Of Maze
The Tower Of Maze released.
I am excited that I can release The Tower Of Maze.
At present, this game is designed for Android (required >= 2.2).
I am going to prepare for iOS.
This game is developed by Unity3D Game Engine.
Unity3D is great development tools for indie developers like me.
If you'd like to contact me, please email to ozahei at gmail.com
(at replace @)
The Tower Of Maze released.
I am excited that I can release The Tower Of Maze.
At present, this game is designed for Android (required >= 2.2).
I am going to prepare for iOS.
This game is developed by Unity3D Game Engine.
Unity3D is great development tools for indie developers like me.
If you'd like to contact me, please email to ozahei at gmail.com
(at replace @)
登録:
投稿 (Atom)