2016-07-15 21 views
1

AIRを実行しているWindowsコンピュータ。Adob​​e AIR - フルスクリーン/ディスプレイ

毎晩、教育用ディスプレイがオフになります。コンピュータはそのままです。特定のディスプレイに

彼らは、画面の解像度が1024×768に、その後1920×1080で始まる前後に数回行く午前中にそれらをオンに戻って1920×1080に

これがために起こります何らかの理由でAIRアプリケーションがフリークアウトし、1024×768のままでフルスクリーンを使用せず、デスクトップが表示されます。 AIRアプリケーションを手動で再起動する必要があります。

このような状況が発生した場合、フルスクリーンを検出して元の状態に戻す方法はありますか?

ご意見ありがとうございます。

答えて

2

最大化されたウィンドウを使用している場合は、ステージ上でEvent.RESIZEをリッスンしたり、ネイティブウィンドウdisplayStateChangeまたはresizeイベントを待機することができます。

FULL_SCREEN(またはFULL_SCREEN_INTERACTIVE)表示状態を使用している場合は、FullScreenEvent.FULL_SCREENイベントが変更されたことを知ることができます。

//in your document class or main timeline, listen for the following events: 

stage.nativeWindow.addEventListener(NativeWindowBoundsEvent.RESIZE, windowResized); 
//the above will fire anytime the window size changes, Really this is all you need as this event will fire when the window display state changes as well. 

stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE, windowResized); 
//the above will fire anytime the window state changes - eg. Maximized/Restore/Minimize. This likely won't trigger on a resolution change, but I've included it anyway 

stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullscreenChange); 
//the above will fire whenever you enter or leave fullscreen mode (stage.displayState) 

private function windowResized(e:Event):void { 
    //re-maximize the window 
    stage.nativeWindow.maximize(); 

    //OR Go to full screen mode 
    stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
} 

private function fullscreenChange(e:FullScreenEvent):void { 
    if (!e.fullScreen) { 
     //in half a second, go back to full screen 
     flash.utils.setTimeout(goFullScreen, 500); 
    } 
} 

private function goFullScreen():void { 
    stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
} 
+0

おかげBFAT:ここ

はあなたが試すことができますいくつかの例です!私は似たようなことをしようとしていましたが、何の出来事も解消されません私はあなたの実装で亀裂を取る。そして、これはいつもコンピュータ/スクリーンが設定されているものの完全な解決に行くでしょうか? –

+0

しかし、正確なシナリオで何が起こるかを正確に知ることは難しいでしょう。 FULL_SCREEN表示状態を使用していますか?または単に最大化されたウィンドウ? (ステージ全体の表示状態を聞いて、フルスクリーンから起動した時を知ることができます。フルスクリーンを使用している方が信頼性が高いかもしれません) – BadFeelingAboutThis

+0

これを試してから結果をコメントしてください。それでも問題が解決しない場合は、イベントの後に数秒の遅延を追加してから、再最大化または再フルスクリーンを試みてください。 – BadFeelingAboutThis