Cocos2d-x v3.1プロジェクトのspine-runtimeを更新する
Cocos2d-x v3.1プロジェクトのspine-runtimeを更新する
Spineが出力するフォーマットが変わり、Cocos2d-xに付属されているspine関係のクラスを更新する必要がでてきた。
Forumでも報告されてた
http://esotericsoftware.com/forum/viewtopic.php?f=9&t=2609&p=12750
(※バグじゃなくてatlasのフォーマット変わったからruntimeをupdateしろって言ってる)
Cocos2d-xのリポジトリへpull request出してた人もいたんだけど、 v3.0へのアップデートに集中したいとかでcloseされていた。
https://github.com/cocos2d/cocos2d-x/pull/6323
更新手順 (cocos2dx内部のspineを上書きする)
spine-runtimeを準備
$ git clone https://github.com/EsotericSoftware/spine-runtimes.git
Cocos2d-xに元から入っているspineを退避させる
Xcode上でspineディレクトリ下のReferenceを削除
ディレクトリを念のため退避
git管理してれば戻せるし要らない工程
$ cd PROJECT_ROOT/cocos2d/cocos/editor-support $ mv spine spine.orig $ mkdir spine
spine-runtimesから必要なファイルをもってくる
以下のディレクトリ下のファイルを
PROJECT_ROOT/cocos2d/cocos/editor-support/spine
にコピーする
spine-runtimes/spine-c/include/spine
spine-runtimes/spine-c/include/src/spine
spine-runtimes/cocos2dx/3.1/src/spine
Xcodeにimport
ここまででiOSではビルドできるようになる
Android.mkを更新する
spine/Android.mkを更新したディレクトリの状況に合わせて変更する とくにこだわりが無ければ、spineディレクトリ下のファイル名をコピペすればOK
Androidもビルドできるようになる
所感
Cocos2d-x内部にできるだけ手を加えたくないので、 外部のディレクトリに配置したかったんだけど、内部のと被るのが面倒くさそうだったので上書きした。