gpt4 book ai didi

c++ - SDL_Window 在 macOS 的窗口模式下不显示

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:10 25 4
gpt4 key购买 nike

运行以下代码,我无法查看窗口,除非我在 SDL_CreateWindow 中设置了 SDL_WINDOW_FULLSCREEN。使用任何其他设置,我可以看到进程正在运行,但没有出现窗口。我希望能够创建一个窗口化的 SDL_Window。我错过了什么吗?

运行 macOS Sierra,SDL v2.0.7

#include <SDL2/SDL.h>

int main() {
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
SDL_Log("Unable to initialize SDL: %s", SDL_GetError());
return 1;
}

SDL_Window *window = SDL_CreateWindow(
"Title",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
640,
800,
SDL_WINDOW_SHOWN
);

if (window == NULL) {
SDL_Log("Unable to create window: %s", SDL_GetError());
return 1;
}

SDL_Delay(5000);

// Cleanup.
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}

最佳答案

您可以尝试添加事件循环而不是 SDL_Delay 吗?

bool quit = false;                                      
SDL_Event e;
while (!quit) {
while (SDL_PollEvent(&e)) {
if (e.type == SDL_QUIT) {
quit = true;
}
}
}

现在我已经在我工作的 Mac 机器上尝试了你的代码,它确实没有显示窗口。您的代码没有给 SDL 足够的时间来显示屏幕,它只是进入休眠状态并退出。事件循环显示非全屏非最大化窗口。

关于c++ - SDL_Window 在 macOS 的窗口模式下不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48469534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com