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