Cocos2d-x Android设备方向:我做错了什么?
-
12-12-2019 - |
题
我尝试在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()
Shout是由您自己写入的一些功能,以检测当前方向
不隶属于 StackOverflow