0

Allegro プログラムはフル スクリーン モードでは正常に動作しますが、プログラムを終了すると、デスクトップの画面解像度が乱れます。allegro_exit(); を実行しているという印象を受けました。画面の解像度を元の解像度に戻します。

他の誰かがこのような問題を抱えていて、それを修正するために何をしたのか疑問に思っていました.

Linux Mint 13で実行しています

4

1 に答える 1

1

まず、少なくとも Allegro 4.4 を実行していることを願っています。それでも、5.0シリーズに切り替えることを強くお勧めします。バージョン 4 は基本的にサポートが終了しており、オペレーティング システムが変更されると、確実に動作する可能性が低くなります。

とはいえ、明示的に呼び出しset_gfx_mode(GFX_TEXT, 0, 0, 0, 0)て、全画面表示をきれいに終了することもできます。

また、デスクトップと同じモードを設定すると、問題が最も少なくなります。例えば:

int w, h;
get_desktop_resolution(&w, &h);
set_color_depth(desktop_color_depth());
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, w, h, 0, 0);

そしておそらくGFX_XWINDOWS_FULLSCREENもっとうまくいくでしょう。またはGFX_XDGA2、ルート権限で実行している可能性があります。それでもうまくいかない場合は、ウィンドウ モードを使用している可能性があります。

于 2012-07-13T14:09:23.573 に答える