有时候,就那么喜欢另类。偏偏不要cocos2d默认的横屏显示,那我们具体要如何定义修改成竖屏呢?
首先,采用cocos2d创建一个默认项目,在applicationDidFinishLaunching里对于屏幕的设置代码如下:
#if GAME_AUTOROTATION == kGameAutorotationUIViewController
     [director setDeviceOrientation:kCCDeviceOrientationPortrait];
#else
     [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];
#endif

现在直接修改成[director setDeviceOrientation:kCCDeviceOrientationPortrait];已经无法实现竖屏显示了。经摸索找到以下方法:

方法一:修改GameConfig.h文件

#define kGameAutorotationNone 0
#define kGameAutorotationCCDirector 1
#define kGameAutorotationUIViewController 2
我的版本是修改为:
#define kGameAutorotationNone 0
#define kGameAutorotationCCDirector 1
#define kGameAutorotationUIViewController 0
才能最终实现竖屏显示。 

方法二:修改RootViewController.m文件的shouldAutorotateToInterfaceOrientation:方法

// 清除有关旋转方向判断的语句,只有return NO

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Shold not happen
return NO;
}

或者将elif GAME_AUTOROTATION == kGameAutorotationUIViewController宏定义代码下的默认代码:

return (UIInterfaceOrientationIsLandscape(interfaceOrientation));

修改为以下竖屏代码:

return (UIInterfaceOrientationIsPortrait(interfaceOrientation));




 

http://www.cnblogs.com/lovecode/archive/2327974.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关文章:

  • 2022-12-23
  • 2021-07-27
  • 2022-12-23
  • 2021-04-26
  • 2022-12-23
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案