代码改变世界

采用cocos2d 1.1版本若是要实现屏幕为竖屏显示怎样修改

2012-01-20 16:01  张智清  阅读(1218)  评论(0编辑  收藏  举报

有时候,就那么喜欢另类。偏偏不要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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。