2

jni main.cppで自分のシーンにアクセスしたいのですが、電話をかけたときにcocos2d::CCDirector::sharedDirector()->getRunningScene()取得できませんでした。私のコード:

void Java_tehrannama_test_tehrannama2_zoomIn(JNIEnv* env, jobject thiz,jfloat s) {

__android_log_print(ANDROID_LOG_DEBUG, "zoom1", "zooom");
    HelloWorld* helloworld = dynamic_cast<HelloWorld*>(cocos2d::CCDirector::sharedDirector()->getRunningScene());
    helloworld->zoomin(s);
    helloworld->center.x = helloworld->center.x -10000;
}

helloworld以外のシーンはありません。

4

1 に答える 1

2

私は実際に私の間違いを見つけました!私のhelloworldレイヤーは現在のシーンの子として追加されました。解決策は、追加するときにhelloworldにタグを付けて、次のようにすることです。

HelloWorld* helloworld = dynamic_cast<HelloWorld*>(cocos2d::CCDirector::sharedDirector()->getRunningScene()->getChildByTag(1));
于 2012-05-03T07:26:17.980 に答える