2011-07-17 22 views
4

空のSDLウィンドウの色を黒でなく白に変更する方法はありますか?私はデフォルト設定を変更したくありません。私が書いているこの特定のプログラムのためにそれを変更しようとしています。私は画像ファイルを使用したくないが、そうしなければならない。SDLの背景を変更する

これが重要ならば、私は知りませんが、私はSDL_SetVideoMode()

私のコードを使用していますが、非常に基本的である:

if (SDL_Init(SDL_INIT_EVERYTHING) == -1) 
    return 1; 

SDL_Surface * screen = NULL; 

screen = SDL_SetVideoMode(width, height, bpp, SDL_SWSURFACE); 

SDL_FillRect(screen, NULL, 0xFFFFFF); 
SDL_Delay(3000); 
+0

OpenGLまたは純粋なSDLを使用していますか? – Bart

+0

純粋なsdl。私はちょうどsdlを学び始めています。 – calccrypto

答えて

4

surf = SDL_SetVideoMode(...)を使用して、ウィンドウから表面を取得して、あなたがSDL_FillRect後SDL_UpdateRectを呼び出す必要が

SDL_FillRect(surf, NULL, 0xFFFFFF); // 0xFFFFFF = white in RGB, NULL = full window 
SDL_Flip(surf); 
+0

私の画面はまだ黒です:( – calccrypto

+0

@calccrypto私たちがコンパイルできる最小限の例 – Bart

3

ご希望であなたは/画面を埋めるために、表面をSDL_FillRectを使用することができます色。

3

を行います。

5

あなたの変更を表示するには、SDL_Flipに電話する必要があります。

+0

oh wow。私は失敗しました – calccrypto

+1

SDL 2.0では 'SDL_UpdateWindowSurface (Window); '、SDL_Flip()は存在しなくなりました。 – Qix