Cocos2d-x V3.0 rc0 で extensions 系の使用

  • 19
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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)