我在mac上操作发现必须加上事件的处理才会显示窗口,这是为什么
来源:7-3 SDL窗口渲染

靳晓帅
2020-11-18
SDL_Init(SDL_INIT_VIDEO);
SDL_Window * window = SDL_CreateWindow("jxs test sdl",
100,
100,
640,
480,
SDL_WINDOW_RESIZABLE);
if(window == nullptr) {
SDL_Log("failed to create window.");
}
SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
if(renderer == nullptr) {
SDL_Log("failed to create render.");
}
SDL_Event event;
SDL_PollEvent(&event); // 没有事件处理这两句就不会显示窗口
SDL_RenderClear(renderer);
SDL_SetRenderDrawColor(renderer,255,255,255,255);
SDL_RenderPresent(renderer);
SDL_Delay(30000);
写回答
1回答
-
推测SDL把窗口的现实放到时间等待方法里调用了,因为这个库主要用于游戏的渲染,在游戏中没有鼠标键盘光显示窗口没啥意义,如果你对这块感兴趣的话可以翻翻他的源码
112020-11-18
相似问题