2 notes &
Unity (iOS)で画面の回転を封じる
iOS上のUnityで普通にアプリを組むと、画面の向きが自由に回転してしまう。Unity側の描画は固定することができても、その裏側で黒い四角形がグルグル回ったり、システムUI(アラートダイアログやGame Centerのオーバーレイ表示)の向きが画面と一致しなくなってしまう。なんとも不恰好だ。
Unityのコミュニティを検索してみると、これを防ぐ最も簡単な方法として、以下のようなコードが紹介されている。
iPhoneKeyboard.autorotateToPortrait = false; iPhoneKeyboard.autorotateToPortraitUpsideDown = false; iPhoneKeyboard.autorotateToLandscapeRight = false; iPhoneKeyboard.autorotateToLandscapeLeft = false;これにより、アプリ動作中に発生する画面の回転は防ぐことができる。しかし、アプリ起動直後の回転を防ぐことはできないようだ。本体を横倒しのままアプリを起動すると、システムUIが横向きのままになってしまう。
これを防ぐための強力な方法として、
AppController.mmを書き換えるというものがある。次の一行をコメントアウトすればいい。
KeyboardOnScreen::Init();ちょっと副作用がありそうな感じもするけれど……とにかく回転させたくないんじゃあ!ていう場合には、こんな対処もあるよ、ということで。