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下要做的事:
设备旋转不要打钩:
在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; }