我刚开始使用SDL2,但遇到了问题。
我想创建一个窗口并将其涂成红色。
但它仍然是白色的,我不明白为什么。
这是代码:
这是代码:
int main (int argc, char** argv) {
SDL_Window* pWindow = NULL;
pWindow = SDL_CreateWindow("Jeu de la vie", SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
640,
480,
SDL_WINDOW_SHOWN);
SDL_Surface* pSurface = NULL;
pSurface = SDL_GetWindowSurface(pWindow);
SDL_FillRect(pSurface, NULL, SDL_MapRGB(pSurface->format, 255, 0, 0));
while(1);
SDL_FreeSurface(pSurface);
SDL_DestroyWindow(pWindow);
SDL_Quit();
return EXIT_SUCCESS;
}
SDL_CreateRenderer()
函数中的index
参数是渲染驱动程序,而不是SDL_Window
。在本例中最好将其保留为-1
。(以初始化支持请求标志的第一个渲染器。) - Runium