cocos2d-x 安卓设备方向:我做错了什么



我尝试在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);
 }
}
所以,我的问题:在纵向方向上,我

有一个很好的视野:漂亮的景色,但是,在横向方向上,我有一个:糟糕的视野。我做错了什么?

它没有错,当你改变方向时,你绝对不能使用相同的坐标。在代码中,应单独处理它们,例如:

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

orientationIsLandScape()应该是你自己写的用来检测当前方向的函数

最新更新