首页 > 代码库 > SDL 学习及相关API

SDL 学习及相关API

SDL_PeepEvents() 在事件队列中搜索特定类型的事件。

int SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 mask);


Description
Checks the event queue for messages and optionally returns them.

If action is SDL_ADDEVENT, up to numevents events will be added to the back of the event queue.

If action is SDL_PEEKEVENT, up to numevents events at the front of the event queue, matching mask, will be returned and will not be removed from the queue.

If action is SDL_GETEVENT, up to numevents events at the front of the event queue, matching mask, will be returned and will be removed from the queue.

This function is thread-safe.

Return Value
This function returns the number of events actually stored, or -1 if there was an error.

 

SDL_PollEvents()函数的功能是事件轮询。首先通过SDL_PumpEvents函数来处理硬件独立的事件后,再通过SDL_PeepEvents从队列中提取事件。
另外还有两个事件处理函数:
SDL_WaitEvent()必须等到有一个事件才返回,而SDL_PollEvent 没有事件也立即返回,这样提高系统反应速度。
SDL_PeepEvents()是提出查看事件,但事件本身仍然在事件队列中。

 

SDL键盘事件

http://blog.csdn.net/noback7/article/details/7209271