Je travaille sur un projet en Cocos2d-x (Latest) dans lequel j'ai travaillé avec Google Play Game Services, j'ai rencontré plusieurs problèmes lorsque j'ai essayé d'intégrer Google Play Services avec C++ puis j'ai décidé de passer à JAVA.Appel d'une fonction C++ de Java JNI - Cocos2d-x
Lorsque l'utilisateur cliquez sur le bouton « Inviter un ami », le (startGame méthode ) est appelé avec succès JNI, mais rien ne se passe! La scène suivante ne s'affiche pas.
C++ code:
extern "C"
{
JNIEXPORT void JNICALL Java_sonar_systems_frameworks_GooglePlayServices_GooglePlayServicesGameHelper_startGame(JNIEnv* env, jobject thiz);
};
JNIEXPORT void JNICALL Java_sonar_systems_frameworks_GooglePlayServices_GooglePlayServicesGameHelper_startGame(JNIEnv* env, jobject thiz)
{
MenuScene::goToScene();
}
void MenuScene::goToScene() {
//Going to the next scene
Scene * gameScene=GameScene::createScene();
TransitionFade*transition=TransitionFade::create(TRANSITION_TIME, gameScene);
//Replace the current Scene with New Game Scene
Director::getInstance()->replaceScene(transition);
}
du code Java où la fonction ci-dessus est appelée:
private native void startGame();
public void inviteFriend() {
startGame();
// launch the player selection screen
// minimum: 1 other player; maximum: 3 other players
//Intent intent = Games.RealTimeMultiplayer.getSelectOpponentsIntent(mGoogleApiClient, 1, 1);
//((Activity) GooglePlayServices.ctx).startActivityForResult(intent, RC_SELECT_PLAYERS);
}
La communication entre C++ et Java est très bien, mais pourquoi je ne peux pas aller à la scène suivante, le code est correct!
Merci,