0

cocos2d と cocosbuilder を使用しているときに、ランドスケープの回転に問題があります。

私のcocosbuilderプロジェクトにはiPhoneランドスケープiPhone5ランドスケープがあり、xcodeサポートされているインターフェイスの向きでは、ランドスケープのみが選択されています。

私のappDelegate.miには次のものがあります:

-(NSUInteger)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskLandscape;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

これは本当に簡単なはずですが、ここで苦労していて、cocosbuilder を使わずにゲームを再構築したくありません。

4

1 に答える 1

1

最近主に使用されている最新バージョンのiOSをサポートしている場合は、これらの方法を使用して向きを確認する必要があります

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeLeft;
}


-(NSUInteger)supportedInterfaceOrientations

{
       return UIInterfaceOrientationMaskLandscape;
}


-(BOOL)shouldAutorotate {


        return YES;    
}

shouldAutorotateToInterfaceOrientationはiOS6で非推奨になり、このメソッドを使用する代わりに、私が提供した上記のメソッドを使用し、アップルが提供するUIViewControllerドキュメントを読んで、どのメソッドをどのような目的で使用できるかが明確に記述されています。ここにあなたが使うかもしれないいくつかの方法があります

willRotateToInterfaceOrientation:duration: 
willAnimateRotationToInterfaceOrientation:duration:
and didRotateFromInterfaceOrientation:
于 2013-03-14T15:27:13.167 に答える