SDL2.0学习笔记——事件处理

 http://qaz2549066580.blog.163.com/blog/static/24104508620160493356972/

        SDL通过SDL_PollEvent函数从事件队列中取出最早发生的事件并填充SDL_Event结构。调用SDL_PollEvent后最早发生的事件从事件队列中清除。SDL_PollEvent函数原型为:

    int SDL_PollEvent(SDL_Event* event);   //当事件队列中有未处理的事件时SDL_PollEvent返回1,否则返回0

    可以通过SDL_Event结构中的type确定发生何种事件。如当用户关闭窗口时会产生SDL_QUIT事件,即

    event.type==SDL_QUIT;

按键时会产生SDL_KEYDOWN事件,可以通过event.key.keysym.sym来确定哪个键被按下,当按下向上箭头时有

    event.key.keysys.sym==SDLK_UP;    //按下向下键时为SDLK_DOWN。

SDL支持的事件https://wiki.libsdl.org/SDL_Keycode

可以用循环程序处理事件。

    SDL_Event event;
    bool quit=false;
    unsigned int time=500;

    while(!quit){
	while(SDL_PollEvent(&event)){
	    if(event.type==SDL_QUIT)
		quit=true;
	    if(event.type==SDL_KEYDOWN){
		switch(event.key.keysym.sym){
		    case SDLK_UP: time+=50; break;
		    case SDLK_DOWN: time-=50; break;
		}
	    }
	}




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值