Scale9Sprite
等、cocos2d/extensions 配下を使いたい場合に、Android のビルドではまったのでメモ。
こんな感じで使います。
Hoge.cpp
#include "extensions/cocos-ext.h"
using namespace extension;
bool Hoge::init() {
if (!Layer::init()) {
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();
Scale9Sprite* hoge = Scale9Sprite::create("hoge.png");
hoge->setPosition(Point(visibleSize.width / 2, visibleSize.height / 2));
hoge->setContentSize(Size(200, 200));
this->addChild(hoge, 1);
return true;
}
Android でビルドする場合、jni/Android.mk
を修正する必要があります。
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
と
$(call import-module,extensions)
を追加してください。
Android.mk
--- a/proj.android/jni/Android.mk
+++ b/proj.android/jni/Android.mk
@@ -7,18 +7,25 @@ LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp \
(snip...)
../../Classes/AppDelegate.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
+LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,2d)
$(call import-module,audio/android)
$(call import-module,Box2D)
+$(call import-module,extensions)