在SDL中,每当有一个事件发生, 它会被置于事件队列中。事件队列为每个发生的事件保存了事件数据。
所以如果你按一下鼠标按钮,再移动一下鼠标,接着再按下键盘上某个按键,事件队列看起来会像这样:
函数
这段代码的作用是:只要事件队列中还有事件,将它们逐一地取出来。
所以如果你按一下鼠标按钮,再移动一下鼠标,接着再按下键盘上某个按键,事件队列看起来会像这样:

函数
SDL_PollEvent()
的作用是从事件队列底部取出一个事件并将其事件数据粘贴到一个SDL_Event
类型的结构体中。
这段代码的作用是:只要事件队列中还有事件,将它们逐一地取出来。
- //如果用户点击了窗口右上角的关闭按钮
- if( event.type == SDL_QUIT )
- {
- //退出程序
- quit = true;
- }
- }
- }
示例代码:
SDL_Event event;
while (1){
SDL_PollEvent(&event);
if (event.type == SDL_QUIT){
break;
}
}