Cocos2d游戏方向在启动后直接切换左 - >右 - >左

时间:2012-01-14 13:36:33

标签: cocos2d-iphone uiinterfaceorientation

我正在使用默认的cocos2d模板,对基本代码略有修改。
我的游戏只在左侧或右侧播放 - 没有人像。

当比赛开始时,它开始正确,然后颠倒翻转,然后再次向右翻转 我查看了几个关于这个问题的帖子,似乎无法指出是什么让界面在没有移动设备的情况下来回翻转。
感谢任何帮助!

我有以下相关代码:

RootViewController.m:

#if GAME_AUTOROTATION == kGameAutorotationUIViewController

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGRect rect = CGRectZero;

    if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)      
        rect = screenRect;

    else if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
        rect.size = CGSizeMake( screenRect.size.height, screenRect.size.width );

    CCDirector *director = [CCDirector sharedDirector];
    EAGLView *glView = [director openGLView];
    float contentScaleFactor = [director contentScaleFactor];

    if( contentScaleFactor != 1 ) {
        rect.size.width *= contentScaleFactor;
        rect.size.height *= contentScaleFactor;
    }
    glView.frame = rect;
}
#endif

的AppDelegate:

#if GAME_AUTOROTATION == kGameAutorotationUIViewController
    [director setDeviceOrientation:kCCDeviceOrientationPortrait];
#else
    [director setDeviceOrientation:kCCDeviceOrientationLandscapeRight];
#endif

GameConfig.h:

#define kGameAutorotationNone 0
#define kGameAutorotationCCDirector 1
#define kGameAutorotationUIViewController 2

#if defined(__ARM_NEON__) || TARGET_IPHONE_SIMULATOR
#define GAME_AUTOROTATION kGameAutorotationUIViewController

#elif __arm__
#define GAME_AUTOROTATION kGameAutorotationNone

1 个答案:

答案 0 :(得分:3)

我今天遇到了同样的问题,它似乎是我的应用程序plist中支持的方向的顺序。应用程序将在Landscape Left中启动,向右翻转,然后再快速向左翻转。

我进入了“摘要”标签中的项目属性(您可以在其中配置支持的方向,应用图标,启动图像等)并取消选择所有支持的方向。

然后我按顺序再次勾选它们(Landscape Right,Landscape Left) - 并在“Info”选项卡中验证它们在数组中的顺序,在“Supported Interface Orientations”部分下。

项目0 - 风景(右主页按钮) 第1项 - 风景(左主页按钮)

之后没有问题,希望这有帮助。