• 追加された行はこの色です。
  • 削除された行はこの色です。
#setlinebreak(on)

Cocos2d-xに関しての開発情報をまとめます。


*目次 [#o88058e5]
#contents


*Cocos2d-xとは? [#k1c1301f]
-Cocos2d-xは、2Dゲーム開発に用いられるオープンソースのフレームワークです。Unityと異なり、無料で使用可能です。
-マルチプラットフォームに対応しており、Android、iOS向けのアプリを同時開発することができます。
-C++で開発可能です。
-Unity2Dと比較して、Cocos2d-xは圧倒的にパフォーマンスに優れているようです。
[[Unity2D vs cocos2d-x描画性能検証レポート>http://www.slideshare.net/crooz_techblog/unity2-d-vs-cocos2d-x]]より



*開発環境の構築 [#o0ac6da2]
-[[Cocos2d-x開発環境の構築(Windows)>./Cocos2d-x開発環境の構築]]
-[[Cocos2d-x開発環境の構築(Mac)>./Cocos2d-x開発環境の構築(Mac)]]


*TIPS [#n72619f5]
各TIPSのプロジェクト名は MyGame とし、HelloWorldシーンがそのまま残っているものとして説明します。
Cocos2d-x のバージョンは 3.0 beta2 です。
**CocoStudioのAnimation Editorで出力したアニメーションを再生する [#ra259cd0]
CocoStudioのアニメーションエディタAnimation Editorで出力したアニメーションファイルをアプリ側で読み込んで再生する手順です。
>CocoStudioのアニメーションエディタAnimation Editorで出力したアニメーションファイルをアプリ側で読み込んで再生する手順です。
CocoStudioは http://www.cocos2d-x.org/download から無料でダウンロード出来ます。
とりあえず、windows版で動作するよう設定します。
+Animation Editorでアニメーションをエクスポート
CocosStudioを起動し、Animation Editor を選択してアニメーションエディタを起動します。
DemoPlayerを選択、プロジェクト保存先を選択、キャラが表示されたら、
ファイル>プロジェクトを出力 で、アニメーションデータをエクスポートします。
出力されたExportフォルダを、フォルダごと、MyGame\Resources にコピーしておいてください。
なお、これらのファイル構成はテスト用の為特に深く考えていません。
+ソリューションエクスプローラでソリューションを右クリック>追加>既存のプロジェクト で、
.\cocos2d\cocos\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj
を開き、追加します。
+libCocosStudioのプロジェクトをVisualStudio2013にアップグレード
追加されたライブラリをソリューションエクスプローラで見ると、『libCocosStudio (Visual Studio 2010)』という風に、古いVisualStudio形式のままなのがわかります。
『libCocosStudio (Visual Studio 2010)』を選択して右クリック>VC++ コンパイラとライブラリのアップグレード を選択すると、アップグレード確認が出るのでアップグレードしてください。
+MyGameプロジェクトに、libCocosStudioライブラリをリンク
ソリューションエクスプローラでMyGameプロジェクトを選択して右クリック>プロパティ>共通プロパティ>参照>新しい参照の追加 で、
libCocosStudioのチェックを有効にして、OKを押します。
+インクルードディレクトリを追加
MyGameプロジェクトのプロパティ>構成プロパティ>C/C++>全般 の、『追加のインクルードディレクトリ』の右側にある『▼』をクリックして、出てきた『編集』をクリック。
新しい行を追加(フォルダのようなアイコンをクリック)で、『$(EngineRoot)cocos\editor-support』を追加してOKを押します。
これで、#include "cocostudio/CCArmature.h" のような記述ができるようになります。
+実装
HelloWorldScene.cpp を修正します。
 #include "cocostudio/CCArmature.h"
HelloWorld::init() 内で、
 Size visibleSize = Director::getInstance()->getVisibleSize();
 Point origin = Director::getInstance()->getVisibleOrigin();
 // アニメーション再生
 {
     cocostudio::ArmatureDataManager::getInstance()->addArmatureFileInfo(FileUtils::getInstance()->fullPathForFilename("Export/DemoPlayer.ExportJson"));
     cocostudio::Armature* armature = cocostudio::Armature::create("DemoPlayer");
     armature->getAnimation()->play("walk");
     armature->setPositionX(origin.x + visibleSize.width / 2);
     armature->setPositionY(origin.y + visibleSize.height / 2);
     armature->setScale(0.3f); // そのままだと大きすぎるので、ちょっと小さく表示する
     this->addChild(armature);
 }
+後は実行すれば、無事再生できるはずです。
-Android版の設定
>windows版が動作していることを前提にしています。
(HelloWorldScene.cppが修正されていれば問題ないはずです)
Android.mkを修正して、ヘッダのインクルードディレクトリと、cocostudioライブラリの設定を行います。
 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \    ← 末尾に『\』を追加
                     $(LOCAL_PATH)/../../cocos2d/cocos/editor-support    ← ここを追加
 
 LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
 LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
 LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
 LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static    ← ここを追加
 
 include $(BUILD_SHARED_LIBRARY)
 
 $(call import-module,2d)
 $(call import-module,audio/android)
 $(call import-module,Box2D)
 $(call import-module,editor-support/cocostudio)    ← ここを追加


    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS