我有一个在SDL(简单直接媒体层)上运行的应用程序。我把它移植到了SDL2。但移植后,游戏杆(SDL_PollEvent)仅捕获游戏杆按钮的释放事件。 是否有任何错误或是否有任何设置用于捕获SDL2中的新闻事件?
答案 0 :(得分:3)
我也有一个循环和swich语句。我只能通过这个循环获得操纵杆按钮的释放事件。
几秒钟前我找到了答案。如果我在SDL_Init语句之前调用SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS,“1”),则操纵杆按钮会获得按下并释放事件,否则轮询无法捕获按下事件。
答案 1 :(得分:0)
您可以使用switch语句来实现此目的,例如:
while( SDL_PollEvent( &event ) )
{
switch( event.type )
{
case SDL_KEYDOWN:
printf( "Key pressed" );
break;
default:
break;
}
}
我没有看到有任何特别的变化。
删除此功能也没有意义,所以我的猜测是你可能做错了。