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;
}
}
}