sdl-2 - 如何从事件队列中删除 SDL_Event?

标签 sdl-2

我一直在浏览有关 SDL_Event 的文档。有没有办法在 SDL_UserEventSDL_PollEvent 轮询之前从事件队列中删除它?我尝试用谷歌搜索“sdl remove event”,但想到了 bubkis。

最佳答案

您可以在将队列中的事件从队列中取出之前检查它们...然后决定将它们取出。

两者都可以通过 SDL_PeepEvents ( http://wiki.libsdl.org/SDL_PeepEvents ) 来完成。您可以通过传入 SDL_PEEKEVENT 作为参数 action 来查看接下来的 N 个事件;或者使用 SDL_GETEVENT 将它们删除。

也应该可以使用 SDL_GETEVENT 来获取它们;编辑您获得的事件数组以删除您想要丢弃的事件;然后使用 SDL_ADDEVENT 再次调用它以将它们放回去。

但此时,我不得不怀疑您是否真的完成了您想要的事情。为什么不只轮询事件并忽略您想要丢弃的类型的事件?我就是这样做的。

关于sdl-2 - 如何从事件队列中删除 SDL_Event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492624/

相关文章:

c++ - SDL_DisplayFormatAlpha() 的 SDL 2.0 版本?

更改 Pipewire/Pulseaudio 中应用程序的名称

c++ - SDL2可执行文件在CodeBlocks外部不起作用

c - 如何在 SDL_Renderer 内移动单个元素?

c++ - SDL 2.0 按键重复和延迟

c++ - SDL2 : Render engine design

c++ - OpenGL在绘制三角形时只有黑屏

c++ - Xcode 5 C++ SDL 应用程序未在 XCode IDE 外部加载

c++ - 如何在CMake中手动链接SDL2

c++ - 如何在运行时打开控制台 [C++/Visual Studio]