ANEに非Retinaで画面サイズを渡すのに、デバイスの画面サイズを取得する必要がありました。
将来的にはAndroidでもアプリを公開したいので、ASでデバイスの画面サイズを取得できないか調べてみました。
Stage.stageHeightとかでステージサイズを取得することはできるのですが、デバイスの画面サイズが取得できないとiPhone5では正しい画面サイズが分かりません。iPhone5では、ステージサイズを960*640で作成して、1136pxのスクリーンショットを加えることでハミ出した部分を表示させるからです。
今回は、flash.system.Capabilities.osの時のようにググるまでもなく、Adobeにあるflash.system.Capabilities.のリファレンスを見ていたら分かりました。
flash.system.Capabilities.screenResolutionX(screenResolutionY)を使えば確認できます。
iPhone5ならscreenResolutionYで1136と返ってくるので、この文字列がそのまま使えます。
1 |
flash.system.Capabilities.screenResolutionY-960; |
こんな感じで、Flash CCのテンプレートでAIR for iOSで作ったステージから、iPhone5で閲覧時にハミ出した部分の高さを求められます。
こちらが完成したゲームです!