我正在使用SDL 2.0,并尝试创建多个窗口。不幸的是,现在我无法退出程序,除非返回IDE并强制关闭它。
事件处理尽可能简单,我只轮询退出事件,在添加第二个窗口之前它完美地工作。当使用多个窗口时,退出事件被忽略了吗?如果是这样,我该如何重新启用它?
事件处理尽可能简单,我只轮询退出事件,在添加第二个窗口之前它完美地工作。当使用多个窗口时,退出事件被忽略了吗?如果是这样,我该如何重新启用它?
SDL_Event e;
while (SDL_PollEvent(&e))
{
if (e.type == SDL_QUIT)
{
// ... Handle close ...
}
}
SDL_Event e;
while (SDL_PollEvent(&e))
{
if (e.type == SDL_WINDOWEVENT
&& e.window.event == SDL_WINDOWEVENT_CLOSE)
{
// ... Handle window close for each window ...
// Note, you can also check e.window.windowID to check which
// of your windows the event came from.
// e.g.:
if (SDL_GetWindowID(myWindowA) == e.window.windowID)
{
// ... close window A ...
}
}
}
SDL_QUIT
,因为它现在是唯一活动的窗口-所以最好根据情况正确处理代码结构。请参阅文档获取更多信息。