SDL_Event 是一个联合体 定义在 SDL_event.h 头文件中 , 该 SDL_Event 联合体是一种特殊的数据结构 , 允许在相同的内存位置存储不同类型的数据 ; 完整的 SDL_Event 联合体 union 内容如下 : 代码语言:javascript 复制 typedef union SDL_Event { Uint32 type; /**< 事件类型,与所有事件共享 */ SDL_...
而具体用户点击键盘上什么按键,这个信息就在 SDL_Event 的SDL_KeyboardEvent中。 对于不同类型的事件所包含的具体信息,SDL_Event 都有对应的结构体去存储。 typedef union SDL_Event { Uint32 type; /**< Event type, shared with all events */ SDL_CommonEvent common; /**< Common event data */ SDL_...
key是事件结构中的成员,当发生的是键盘事件时,key保存键盘事件的信息, myEvent.key.keysym中keysym是键盘事件结构中按键信息成员,至此我们得到按键的信息,按键信息是一个结构体,我们只需检测它的sym成员的值就可以判定用户按的是那个键。
首先, 获取事件的类型 ,event.type, 先看是哪种类型的事件 , 选择使用哪种结构体数据格式访问改事件数据 ; 然后, 如果获取的事件是 SDL_KEYDOWN 键盘事件 , 则使用 SDL_KeyboardEvent 结构体的数据格式访问 SDL_Event 事件对象 ; 最后, 通过访问 SDL_KeyboardEvent 结构体的event.key.keysym.sym成员 , 获取...
4 SDL_Surface 结构 表示一堆像素、可以理解成 2d 图片 5 SDL_FillRect() 表示给某个 surface的某个矩形区域填充某种颜色 6 SDL_UpdateWindowSurface() 表示更新window的surface内容到屏幕上 7 SDL_Event 对事件的封装、其实可以 f12 点进去看一下、发现是个联合体(意味着同一时刻只有一个字段是有效的) ...
Event(事件驱动):处理事件驱动 在Windows下,SDL与DirectX的对应关系如下。 SDL播放视频的流程 1、初始化 初始化SDL 创建窗口(Window) 基于窗口创建渲染器(Render) 创建纹理(Texture) 2、循环显示画面 设置纹理的数据 纹理复制给渲染目标 显示 3、api调用流程图如下 ...
SDL_Event结构体代表消息事件,其中的type指定具体的事件类型,在SDL_events.h文件中能看到所有的事件类型,抄录一些比较典型的: typedefenum { /* Application events */ SDL_QUIT = 0x100,/**< User-requested quit */ /* Keyboard events */ SDL_KEYDOWN = 0x300,/**< Key pressed */ ...
要接收一个事件,我们就要定义一个变量来保存该事件,在SDL中事件有专门的类型SDL_Event类型,SDL_Event是一个结构体,其定义如下: typedef union SDL_Event { Uint8 type; //事件类型 SDL_ActiveEvent active; //窗口焦点、输入焦点及鼠标焦点的失去和得到事件 ...
当SDL_Event.type为SDL_MOUSEBUTTONDOWN或SDL_MOUSEBUTTONUP时,SDL_MouseButtonEvent结构体被选择。同样地,SDL_MouseButtonEvent在检测到鼠标按钮按下或释放时使用,鼠标时间发生时鼠标的位置存储在X和Y字段。 根据触屏数据模拟鼠标点击事件 从触屏获取校正后的点触坐标X、Y与点触状态pressure,将这些信息相应地填充到SDL...
SDL_Event结构体代表消息事件,其中的type指定具体的事件类型,在SDL_events.h文件中能看到所有的事件类型,抄录一些比较典型的: 代码语言:javascript 复制 typedefenum{/* Application events */SDL_QUIT=0x100,/**< User-requested quit *//* Keyboard events */SDL_KEYDOWN=0x300,/**< Key pressed */SDL_KEY...