Cocos Studio v2をCocos2d-x3.3rc0で使ってみたメモ
ただのメモです。 あとで追記とかするかもです。
Cocos Studio v2.0.0.0beta0(for Mac)を使ってハマったことや、バグってるぽい箇所、v1.6.0.0で出来たことができないとかのメモ。
.csbと.csdをcocos2d-xで読み込む方法
.csd
: CocosStudio ドキュメント?(XMLっぽいファイル)- CocosStudioでイジるのはこっち
.csb
: CocosStudio バイナリ?(バイナリmsgパック?)- Publishすると吐出されるのがこっち
検証したのは、cocos2d-x3.3rc0
です。
.csd
cocos2d::Node *node = CSLoader::getInstance()->createNodeFromXML("HogeScene.csd"); this->addChild(node);
.csb
cocos2d::Node *node = CSLoader::getInstance()->createNodeFromProtocolBuffers("HogeScene.csb"); this->addChild(node);
良くなった点
- Macで作ったやつがcocos2d-xを改造しなくても読み込める
- 色々バグってたのが直ってる(Labelまわりとか)
色々あるんだけど、ぱっと思いつかない。。。
v1.6.0.0で出来たのに〜
- ListViewが使えない
- ルートノードに
Adaptive Resolution
を指定できない - Sizeに%を指定してもCocosStudio上で指定した画面サイズの%にしかならない
- Cocos2d-xで実際のDesignResolutionSizeを使用してくれない
バグっぽい
- publishしたcsbを読み込むとLabelに設定したOptionsが
ui::Text
反映されない- csdなら反映される
- 2014/11/29追記: Cocos2d-xの問題でした Modify that parsing attribute "fontName" of TextReader · 2ed51e0 · cocos2d/cocos2d-x · GitHub
- まだCocos2d-x3.3rc0に入ってない修正なので手動でパッチ当てが必要
- SceneのサイズがcontentSizeに反映されない(昨日PRして今日マージ済み)
- CocosStudioプロジェクト下にディレクトリを作成して、ディレクトリ内のNodeから別のcsdを参照するとパスがおかしくなる
- Labelの
AutoAdjust
がうまく効いてない時がある(最後の1文字が消える)- とりあえず、
AutoAdjust
やめてSizeを設定すれば大丈夫
- とりあえず、
2014/11/23追記:
- CocosStudio v1.6の時とかは設定できたZOrderがv2では設定不要になっているが、v1.6をimportすると隠しパラメータとして設定されているため、Layerの順番をどうやって変えても重なってしまう問題が起こる
- Vimとかで直接
.csd
を開いてZOrder=1
とかを全部削除すれば解消されます
- Vimとかで直接
注意点
- %でPositonやSizeを指定したNodeやPanelをコピペすると%が解除されてpxになる
- ひどいお。。。
.csd
間でNodeとかPanelをコピペできない(辛い)- Vimとかで直接開いて〜ってやればできそうなので、次バージョンで対応オナシャス!!!
- 2014/12/7追記:
Cut&Pasteを右クリックで行うと擬似コピー可能という裏ワザを発見 - 2015/1/12追記: v2.0.6で擬似コピー裏ワザ使えなくなった。。。バグ扱いで消えたか...
- UIEditorでつくったプロジェクトをv1.6.00のimportできるが、全部Node扱いになる(変更できない)
- 厳密にいうと直接.csdファイルをvimとかで開いてSceneにすればOK
- NodeのままだとAnchor周りの問題がおきる
- new Fileで作ったLayerは途中でサイズ変更できない
- vimとかで直接csdを開いてSizeをいじればなんとかなる
- Mac版だけかもしれないけど、名前入力中に勝手に半角スペースが挿入される時がある
- Google IMEのせい?
メモ
- Scale 9 Gridの設定の仕方が変わってる
- 引き伸ばさない部分のRectをpxで指定する感じになってる(Top, Bottom, Left, Right)
- マウスのスクロールで拡大縮小制御するには、「Preferences」 -> 「Mouse」 ->
Disable mouse wheel zoom
のチェックを外す - AnimationEditorで作ったやつのimportもできる
- SpriteFrameの切り替えが、それぞれSpriteが追加されてvisibleで切り替えたtimelineが作られる
- plistとpngのセットになったSpriteSheetもResourcesにimportできる
その他
publish先変える方法Qiitaに書いたけど、上記のバグ?でTextのOptionが読めてないから使ってない。(2014/12/6追記: Cocos2d-x3.3rc1では直ってます)
書いた / “cocos2d-x - Cocos Studio v2でpublish先のディレクトリを変更する方法 - Qiita” http://t.co/vInvqX1szZ
— きょこみ (@k_yokomi) October 29, 2014
今はプロジェクト直下にpublis.shを作って、CocosStudioで編集したら実行して(2014/12/6追記: Cocos2d-x3.3rc1では直ってるので、普通にpublishしてます).csd
を自分でrsyncしてる。
publish.sh
rsync -a --delete cocosstudio/ Resources/
ちょいちょい追記します。