Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 更改SDL背景_C++_Image_Window_Sdl - Fatal编程技术网

C++ 更改SDL背景

C++ 更改SDL背景,c++,image,window,sdl,C++,Image,Window,Sdl,有没有办法将空SDL窗口的颜色更改为白色而不是黑色?我不想更改任何默认设置。我只是想为我正在编写的这个特殊程序修改它。我不想使用图像文件,但如果必须,我会使用 我不知道这是否重要,但我正在使用SDL\u SetVideoMode() 我的代码非常基本: if (SDL_Init(SDL_INIT_EVERYTHING) == -1) return 1; SDL_Surface * screen = NULL; screen = SDL_SetVideoMode(width, heig

有没有办法将空SDL窗口的颜色更改为白色而不是黑色?我不想更改任何默认设置。我只是想为我正在编写的这个特殊程序修改它。我不想使用图像文件,但如果必须,我会使用

我不知道这是否重要,但我正在使用
SDL\u 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);

您可以使用以所需颜色填充屏幕/a表面。

使用
surf=SDL\u SetVideoMode(…)
从窗口获取表面,然后执行以下操作

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

您需要在SDL\u FillRect之后调用SDL\u update。

您需要调用以显示更改。

您使用的是OpenGL还是纯SDL?纯SDL。我刚开始学习sdlagain@calccrypto给我们看一些代码。对于SDL2.0,您需要使用
SDL\u UpdateWindowSurface(窗口),因为
SDL\u Flip()
不再存在。