2014年02月05日

[Cocos2d-x] Classesの中を整理する

Cocos2d-xの開発をEclipseで行うときの設定です。
Xcodeだとこの辺はあまり気にしなくても良い感じになってますね。

Cocos2d-xでプロジェクトを作ると、Classesに4つのファイルができます。
Classes/
├AppDelegate.cpp
├AppDelegate.h
├HelloWorldScene.cpp
└HelloWorldScene.h

最初のうちは良いのですが、ファイルが増えてくるとわかりにくくなります。
↓こんな感じ。わかりにくいですね。
Classes/
├AppDelegate.cpp
├AppDelegate.h
├Fuga.cpp
├Fuga.h
├HelloWorldScene.cpp
├HelloWorldScene.h
├Hoge.cpp
├Hoge.h
├Piyo.cpp
└Piyo.h

こうなってしまう前にフォルダにまとめたいですね。
Classes/
├AppDelegate.cpp
├AppDelegate.h
├HelloWorldScene.cpp
├HelloWorldScene.h
└HogeHoge/
 ├Fuga.cpp
 ├Fuga.h
 ├Hoge.cpp
 ├Hoge.h
 ├Piyo.cpp
 └Piyo.h

しかし、ファイルの場所を変えてしまうとビルドできなくなってしまいます。
ファイルが参照できるようにしましょう。
// before
#include "Hoge.h"
// ↓
// after
#include "HogeHoge/Hoge.h"

としても参照できますが、一つ一つ変更するのはめんどくさいです。
Makefile(Android.mk)の中にHogeHogeからもincludeできるように指定するのが良い気がします。
↓このようにしておけば、#include "Hoge.h"のまま参照可能です。
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../Classes/HogeHoge/

ソースファイルの場所も修正しておきましょう。
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/HogeHoge/Hoge.cpp \
../../Classes/HogeHoge/Fuga.cpp \
../../Classes/HogeHoge/Piyo.cpp

これでビルドできるようになるはずです。
ソースをグループ化できるのでわかりやすくなりますね。
posted by t2low at 22:00| Cocos2d-x