0

我尝试在 HelloWorld Android 项目中更改设备方向。但是,我有一个小问题。我遵循了 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 回答