我现在正在用coco2d v1.0.1开发的一个项目(其中有部分是用UIKit的控件),需要保持屏幕方向始终为横向,在ios5.1的机器上测试没有问题(cocos2d 默认为横向),发布到ios6.1.2的机器上以后方向就会变成竖向,就算把AppDelegate.m中的方向设置修改成如下所示:
#if GAME_AUTOROTATION == kGameAutorotationUIViewController
//;//原来的代码
;
#else
;
#endif
其结果也仅仅是cocos2d的坐标系变成了横向,但我在ccTouchesBegan/Moved/End事件当中获取的点坐标依然是竖向的,而且所有UIkit控件的加载也是竖向的,继续修改了RootViewController.m中的shouldAutorotateToInterfaceOrientation函数,具体如下:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );
}
结果没有任何反应,该怎样才能在ios6.1.2中使所有坐标系都是横向?
补充:我把修改之后的程序再次发布到ios5.1的机器上,发现5.1中cocos2d的坐标系居然变成了竖向,只有把AppDelegate.m中改回;才能正常显示横向,而按照它参数的意思不应该是“把设备方向定为竖向”吗?