2012-02-19 22 views
2

少しのためにSDLを使用した後、私は小さい問題を見つけた。 はフルスクリーンでビデオモードを設定する場合:フラグ付きSDL解決の問題

screen = SDL_SetVideoMode(WIDTH,HEIGHT,BITDEPTH,FLAGS); 

:それが必要のよう

const Uint32 Graphics::FLAGS = SDL_HWSURFACE | SDL_DOUBLEBUF |SDL_FULLSCREEN; 

画面がフルスクリーンに移行します。 しかし、ゲームが終了すると、モニターの解像度は、ゲームの前の状態に戻るのではなく、ゲームの解像度(私の場合は800x600)を維持します。 私はこれを修正できるとコード通りにはありますか?どんな助けもありがとう。

+0

問題を再現する小さな例を投稿できますか? – jrok

+0

確かに、私にはすぐ分かります(この問題のプロジェクトはやや大きいです)。 – Shalmezad

+0

小さなサンプルを試したときに問題が見つかりました。 SDLのクリーンアップ(解像度の修正など)を実行せずに自分のプログラムが「きれいに」終了することを意味するSDL_Quit()をインクルードしました。 それは私自身の答えとして書いてもらえますが、それは私を7時間もさせません。コピー/貼り付けはあなたのものです。 助けてくれてありがとう! – Shalmezad

答えて

1

処理の終了を宣言し、ブロックのデータをSDL_Quit()やSDL_FreeSurface()などのデータで解放してください。