不是最好的标题,但是,SDL_Event 与所有 SDL 事件(如 SDL_QuitEvent、SDL_ActiveEvent 等)之间的关系是什么?我正在为 C# 使用 SDL 绑定,但在处理它们时无法确定类型系统使用什么类型;它们不是 SDL_Event 的子类。我应该只使用object
,还是有更好的方法?
问问题
901 次
1 回答
1
老问题,但仅适用于长尾搜索:
anSDL_Event
只是结构(SDL_QuitEvent
等)的一大集合。根据SDL_Event::type
,您设置或查看不同的子结构及其数据。
来自 SDL1.2 中的SDL_events.h:
typedef union SDL_Event {
Uint8 type;
SDL_ActiveEvent active;
SDL_KeyboardEvent key;
SDL_MouseMotionEvent motion;
SDL_MouseButtonEvent button;
.
.
.
SDL_SysWMEvent syswm;
} SDL_Event;
来自SDL2中的 SDL_events.h :
typedef union SDL_Event
{
Uint32 type; /**< Event type, shared with all events */
SDL_CommonEvent common; /**< Common event data */
SDL_WindowEvent window; /**< Window event data */
SDL_KeyboardEvent key; /**< Keyboard event data */
.
.
.
} SDL_Event;
于 2013-10-16T17:19:42.867 回答