フレックスモバイルプロジェクトを作成しています。ボタンをクリックするとアプリを強制的に縦向きにし、他のボタンをクリックすると向きを変更できるようにします。
これは、ポートレート モードを強制する最初のボタンをクリックしたときのコードです。
protected function click(event:MouseEvent):void{
if(stage.orientation != StageOrientation.DEFAULT){
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);
stage.setOrientation(StageOrientation.DEFAULT);
}else{
doSomething();
}
}
private function orientationChanged(event:StageOrientationEvent):void{
doSomething();
stage.removeEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);
}
private function doSomething():void{
stage.autoOrients = false;
}
問題なく動作し、必要に応じて向きを変更します。
ここで、向きの変更を再度許可したい場合は、次のように入力しただけです。
stage.autoOrients = true;
最初のボタンをクリックしたときにアプリが縦向きで、何も変更する必要がない場合は問題なく動作します。しかし、横向きで縦向きに変更する必要がある場合、向きの変更を再度許可すると、うまく機能しません。
何かを許可または変更する必要があるかどうか知っていますか? または、これを行うより良い方法はありますか?
前もって感謝します