我一直在浏览有关 SDL_Event
的文档。有没有办法在 SDL_UserEvent
被 SDL_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/