2017年5月1日月曜日

cocos2d-x JNI(Java) の に関する覚書

調べたりした結果をずらずらと並べます

cocos2d-x 3.x系 android studioでのJNI headerの作成

cd proj.android-studio

 javah -classpath "app/build/intermediates/classes/debug/:../cocos2d/cocos/platform/android/libcocos2dx/build/intermediates/classes/debug:$ANDROID_SDK_ROOT/platforms/android-23/android.jar" -d "app/jni/NativeBridge" org.cocos2dx.cpp.AppActivity

#android-sdkのバージョンは環境に合わせてください
#一度ビルドする
#app/jni/NativeBridgeにheaderファイルが作成されます


SDKBOX Admobプラグインの位置修正

Admobプラグインは位置が上下左右固定なのでマージンを指定したい場合
次のようなコードで変更できてる模様 
 
ViewGroup rootView = AppActivity.getRootView(context);
if(rootView != null)
{
    for (int i = 0; i < rootView.getChildCount(); i++) {

        ViewGroup view = (ViewGroup)rootView.getChildAt(i);

        for (int j = 0; j < view.getChildCount(); j++ ) {
            if (view.getChildAt(j) instanceof AdView) {
                View child = view.getChildAt(j);
                int height = child.getBottom() - child.getTop();

                ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) child.getLayoutParams();
                lp.bottomMargin = 60 * height / 50;
                child.setLayoutParams(lp);
            }
        }

    }
}


追記予定...