CRI ADX2 LE SDK for Androidは、Androidプロジェクトのassetsフォルダ内へのアクセスを提供しています。
Cocos2d-xプロジェクトにおけるResource下のファイルは、Android環境においてはassetsフォルダへコピーされます。 Atomライブラリはassetsアクセスのために有効化手続きが必要です。
次に示すコードはassetsアクセスの有効化を行います。
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) /* CRI Atom ライブラリの初期化 */ criAtomEx_Initialize_ANDROID(NULL, NULL, 0); /* 以下、Androidで必要な処理。JNIを介してActivityのContextオブジェクトを取得する */ cocos2d::JniMethodInfo methodInfo; cocos2d::JniHelper::getStaticMethodInfo(methodInfo, "org/cocos2dx/lib/Cocos2dxActivity", "getContext", "()Landroid/content/Context;"); auto android_context_object = (jobject)methodInfo.env->CallStaticObjectMethod( methodInfo.classID, methodInfo.methodID ); /* assetsフォルダへのアクセスを有効化する */ criFs_EnableAssetsAccess_ANDROID(cocos2d::JniHelper::getJavaVM(), android_context_object); #endif
上に示したように、assetsフォルダ内へのアクセスを有効化するにはcriFs_EnableAssetsAccess_ANDROID 関数を呼ぶ必要があります。CRI Atom ライブラリの初期化後に呼んでください。
本関数はJava VMへの参照とContextオブジェクトを引数に受け取ります。これらを用意するにはcocos2d::JniHelperクラスの利用をおすすめします。