アンドロイドでは次のようなことができます:(おそらくiOSでも同じことができます:))
たとえば、データを含むクラスを返したいと思います。だから私は作成します
/cocos2d-2.0-x-2.0.4/cocos2dx/platform/android/java/src/com/example
(このクラスをあなたのプロジェクトに入れてみてください私はそれをチェックしません)
package com.example;
public class SimpleClass {
private int a;
private int b;
public SimpleClass(int a, int b) {
this.a = a;
this.b = b;
}
}
これで、Cocos2dxActivityに、終了時またはその他のアクション時に実行されるネイティブメソッドを追加できます。
例えば
private static native SimpleClass nativeReturner();
onStopまたは他の方法で実行できます。SimpleClassを返します
次に、プロジェクトでjni / main.cppにJNI関数を含める必要があるため、次のように関数を追加できます。
jobject Java_org_cocos2dx_lib_Cocos2dxActivity_nativeReturner(JNIEnv* env, jobject obj)
{
jint i;
jobject object;
jmethodID constructor;
jclass cls;
cls = env->FindClass("com/example/SimpleClass");
constructor = env->GetMethodID(cls, "<init>", "(II)V");
//Here you initialize your class pass here something
object = env->NewObject(cls, constructor, 5, 12);
return object;
}
この単純な関数は、SimpleClassを作成し、5,12で初期化します。もちろん、ここで、cocosゲームからオブジェクトを渡すことができます。
たとえば、フォームCCAplicationを継承するクラスでは、渡したいデータを格納できます。次に、CCApplication :: sharedApplication()を使用するか、独自の静的メソッドを作成できます。
もちろん、iOSやその他のプラットフォームでは、同じようにする必要があります。