taoru's memo

Objective-c,cocos2d,など開発についてのメモ(andoroidも少しだけ)

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を削除 68d7e492c886d82127562d0de3893834.png

ディレクトリを念のため退避

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

  • targetの追加忘れに注意

ここまででiOSではビルドできるようになる

Android.mkを更新する

spine/Android.mkを更新したディレクトリの状況に合わせて変更する とくにこだわりが無ければ、spineディレクトリ下のファイル名をコピペすればOK

Androidもビルドできるようになる

所感

Cocos2d-x内部にできるだけ手を加えたくないので、 外部のディレクトリに配置したかったんだけど、内部のと被るのが面倒くさそうだったので上書きした。

QLOOKアクセス解析