0

HelloWorldAndroidプロジェクトでデバイスの向きを変更してみました。しかし、私には小さな問題があります。私はoff.siteからのガイドに従いました:

1. Add nativeInit(w, h); to cocos2dx/platform/android/java/src_common/org/cocos2dx/lib/Cocos2dxRenderer.java -> void onSurfaceChanged(GL10 gl, int w, int h).
2. Add this code to void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thiz, jint w, jint h):


cocos2d::CCEGLView* view = cocos2d::CCDirector::sharedDirector()->getOpenGLView();
 if (!view) {
    ...
 } else {
    ...
    if (view->getFrameSize().width != w || view->getFrameSize().height != h) {
      view->setFrameSize(w, h);
      view->setDesignResolutionSize(w, h, kResolutionShowAll);
 }
}

だから、私の問題:ポートレート方向では私は良いビューを持っています:素晴らしいビューですが、ランドスケープ方向では私はそれを持っています:悪いビュー。私は何を間違えますか?

4

1 に答える 1

0

何も問題はありません。向きを変更するときに同じ座標を使用することはできません。コードでは、それらを個別に処理する必要があります。次に例を示します。

if (orientationIsLandScape()) {
     background->setPosition();
} else {
     background->setPosition();
}

orientationIsLandScape()現在の向きを検出するために自分で作成した関数である必要があります

于 2012-10-03T04:22:17.923 に答える