当前位置: 首页 > news >正文

黄金交易平台app广州seo网站服务公司

黄金交易平台app,广州seo网站服务公司,安徽芜湖网站建设,华秋电子商城1.简介 SDL事件可以是用户输入、系统通知或窗口管理事件等。SDL事件可以通过SDL_PollEvent和SDL_WaitEvent函数来获取。在SDL中,事件是通过SDL_Event结构体表示的,其中包含事件类型以及与该类型相关的具体数据。 下面是一些常见的SDL事件类型和相关的事…

1.简介

SDL事件可以是用户输入、系统通知或窗口管理事件等。SDL事件可以通过SDL_PollEvent和SDL_WaitEvent函数来获取。在SDL中,事件是通过SDL_Event结构体表示的,其中包含事件类型以及与该类型相关的具体数据。 下面是一些常见的SDL事件类型和相关的事件数据:

  • SDL_QUIT:应用程序退出事件。
  • SDL_KEYDOWN/SDL_KEYUP:键盘按键按下/松开事件。
  • SDL_MOUSEMOTION:鼠标移动事件。
  • SDL_MOUSEBUTTONDOWN/SDL_MOUSEBUTTONUP:鼠标按键按下/松开事件。
  • SDL_WINDOWEVENT:窗口事件(如窗口大小改变、窗口最小化、窗口最大化等)。
  • SDL_USEREVENT:用户自定义事件。

2.简单示例

一下这几行代码就是 SDL 消息循环和事件响应的核心了,写一个死循环,然后通过SDL_PollEvent不断的从事件队列中取事件,如果有则返回 1,没有则返回 0。

当用户点击了窗口关闭的时候,对应 SDL_Event 的 type 就是SDL_QUIT,这个 type 是一定要添加处理的,不然点叉就关闭不了窗口了。

 SDL_Event windowEvent;while (true){if (SDL_PollEvent(&windowEvent)){if (SDL_QUIT == windowEvent.type){break;}}}

3.SDL_PollEvent和SDL_WaitEvent区别 

除了SDL_PollEvent方法去取消息外,还有SDL_WaitEvent方法。顾名思义,该方法会阻塞当前调用的线程,直到取出一个消息为止。

SDL_PollEvent:
SDL_PollEvent函数是一个非阻塞函数,它会不断地检查 SDL 事件队列,直到有事件产生。如果有事件到达,它将将其从队列中取出并返回。如果没有事件,SDL_PollEvent会返回0。这种方式可以在事件到达时立即处理,而不需要等待。但是,如果程序需要等待某个特定事件,这种方法可能不够灵活。


SDL_WaitEvent:
SDL_WaitEvent函数是一个阻塞函数,它会等待 SDL 事件队列中的事件。直到有事件到达时,它才会返回。与SDL_PollEvent不同,SDL_WaitEvent会在没有事件时阻塞等待,直到事件到达或超时。这种方式在需要等待特定事件(例如用户输入)时非常有用。但是,如果事件处理程序在等待事件时需要执行其他任务,程序可能会变得不够高效。

4.自定义事件响应

除了系统事件,还可以自定义事件。

首先定义一个事件类型的宏:REFRESH_EVENT (一个刷新事件的宏)。

//Refresh Event
#define REFRESH_EVENT  (SDL_USEREVENT + 1)

其次,要创建一个线程,让它延时40毫秒后,发送自定义事件,在主线程中去接收到这个事件。

定义一个 SDL_Event数据结构,把它的 type 赋值为自定义的类型,然后通过方法SDL_PushEvent把该消息事件放到消息队列中去。

int thread_exit=0;int refresh_video(void *opaque){while (thread_exit==0) {SDL_Event event;event.type = REFRESH_EVENT;SDL_PushEvent(&event);SDL_Delay(40);}return 0;
}//创建线程
SDL_Thread *refresh_thread = SDL_CreateThread(refresh_video,NULL,NULL);

事件处理主线程:

SDL_Event event;
while(1)
{//WaitSDL_PollEvent(&event);if(event.type==REFRESH_EVENT){//deal		}else if(event.type==SDL_QUIT){break;}
}

http://www.bjxfkj.com.cn/article/103830.html

相关文章:

  • 网站视频播放代码网店运营培训哪里好
  • 棋牌网站百度一下你就知道首页
  • 阿里巴巴上怎样做自己的网站优化大师win7官方免费下载
  • 精品课程网站开发项目广州推广排名
  • 向google提交网站在线域名ip查询
  • 网页制作素材软件有哪些seo优化排名教程
  • b站推广是什么意思服务营销论文
  • 宝丰县建设局网站黑帽seo365t技术
  • b2b网站名称和网址有哪些济南seo全网营销
  • 白银网站建设熊掌号seo基础入门视频教程
  • seo营销方法关键词优化一年的收费标准
  • 新郑市住房建设局网站赚钱软件
  • 自己如何做公司网站视频百度风云榜
  • 网站开发web泰安网络推广培训
  • 做自主外贸网站和后台费用多少营销型网站建设运营
  • 网站建设 报价百度产品大全首页
  • 网页设计网站含义网站关键词推广工具
  • 本机网络ip做网站百度网盘官网登陆入口
  • 农业生态园电商网站建设我想在百度上做广告怎么做
  • 建设网站需要哪些人搜索引擎优化的主要工作
  • 做网站用什么程序百度引擎搜索推广
  • 做网站排名工具seo关键词优化软件
  • 做照片书的网站营销型网站建设套餐
  • wap网站还有能打开的吗网站域名ip地址查询
  • jsp做网站能实现什么功能企业管理8大系统
  • 做一个网上商城网站建设费用多少百度一下首页极简版
  • matebook e 网站开发seo综合查询软件排名
  • 移动wifi多少钱一个月北京网站优化托管
  • 织梦美女图片网站模板青岛网站设计公司哪家好
  • 用ih5做微网站苏州网站建设公司排名