COCOS2D-X暂时设置竖屏,过一阵子再设置回横屏

时间:2024-11-27 18:35:09
mainActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏

竖屏是JAVA代码

另外再改动COCOS2D-X坐标系统(C++代码)(20140602这是ANDROID和IOS都须要的):

CCEGLView *view = CCEGLView::sharedOpenGLView();
CCSize czFrame = view->getFrameSize();
view->setFrameSize(czFrame.height,czFrame.width);
view->setDesignResolutionSize(320,480,kResolutionExactFit);

设置回来代码和上面的相反

设置android-14转屏就崩溃,设置android-11就不崩溃,不知道为什么。

(20140511)

20140602总结IOS下要做的事:

设备旋转不要打钩:

COCOS2D-X暂时设置竖屏,过一阵子再设置回横屏

在RootViewController里,代码控制是否旋转,你要改动这些代码来适应你自己的程序:

- (BOOL) shouldAutorotate {
bool bIsPortraitCur = ( self.interfaceOrientation == UIInterfaceOrientationPortrait );
if( bIsPortraitCur != s_needOrientation )
return YES;
else
return NO;
return YES;
// return NO;
}
// For ios6, use supportedInterfaceOrientations & shouldAutorotate instead
- (NSUInteger) supportedInterfaceOrientations{
#ifdef __IPHONE_6_0
return UIInterfaceOrientationMaskAll;
#endif
}

旋转的IOS代码:

extern bool s_needOrientation;
bool SetScrnOrentation( bool bIsPotrit ){
if(s_needOrientation == bIsPotrit )
return false; s_needOrientation = bIsPotrit ;
[[UIDevice currentDevice] performSelector:@selector(setOrientation:)
withObject:
bIsPotrit ? (id)UIDeviceOrientationPortrait : (id)UIDeviceOrientationLandscapeRight];
//[[UIApplication sharedApplication] setStatusBarOrientation:bIsPotrit?UIInterfaceOrientationPortrait:UIInterfaceOrientationLandscapeRight]; return true;
}