cocos2dの画面回転制御ネタ
前置き
以前リリースしたゲームで使っているcocos2dがずっとv0.9ぐらいで古かったので、
このたび、バージョンをあげることにした。
iTunes App Store で見つかる iPhone、iPod touch、iPad 対応 ChickenGame
最新はv2とか出ているみたいだけど、まずはv1.0.1で。
※本当は管理にCocoaPodsとか使った方がいいんだけど、まいっか。
使用中のcocos2dのバージョン確認
使用中のcocos2dのversionは、
cocos2d.mを見ればわかります。
回転がくるった
でも起動すると全く回転してないような。
iPhone6シュミレータを使ってると上手くいかない。
悩むこと数分。
回転の制御ネタだろうなと思い、こんなことをした。
GameConfig.hのGAME_AUTOROTATIONの値を変更した。
kGameAutorotationUIViewControllerがデフォルトで入ってたので、
kGameAutorotationCCDirectorにしただけ。
- kGameAutorotationNone
回転しない
- kGameAutorotationCCDirector
回転はcocos2dに委ねる、UIKitは使わない
- kGameAutorotationUIViewController
回転はcocos2d、UIKitの両方を使う、但しパフォ落ちる
下記ソース
// // Supported Autorotations: // None, // UIViewController, // CCDirector // #define kGameAutorotationNone 0 #define kGameAutorotationCCDirector 1 #define kGameAutorotationUIViewController 2 // 3rd generation and newer devices: Rotate using UIViewController. Rotation should be supported on iPad apps. // TIP: // To improve the performance, you should set this value to "kGameAutorotationNone" or "kGameAutorotationCCDirector" #if defined(__ARM_NEON__) || TARGET_IPHONE_SIMULATOR #define GAME_AUTOROTATION kGameAutorotationCCDirector
結果、こんな感じに。