2015-04-26 55 views
0

我正在開發一個應用程序,需要顯示哪些按鈕在操縱桿上按下。SDL 2.0 - SDL_GameControllerGetButton不工作

對於這一點,我使用SDL閱讀我操縱桿的狀態,代碼:

bool JoystickInfo::getButton (const int &joystick, SDL_GameControllerButton button) 
{ 
    SDL_JoystickUpdate(); 
    gameController_ = SDL_GameControllerOpen (joystick); 
    return (bool) SDL_GameControllerGetButton (gameController_, button); 
} 

出於某種原因,這個函數總是返回0(假)。我也曾嘗試使用SDL事件(如圖所示here,但我也得到了同樣的結果

側面註釋:

  • 上面的代碼與SDL 1.2工作得很好,但我需要SDL 2.0該GameController API。
  • 我以同樣的方式看我的搖桿的軸的價值和它的作品沒有任何問題。
  • SDL_INIT()被稱爲與SDL_INIT_EVERYTHING

,我使用讀取軸值的代碼是:

double JoystickInfo::getAxis (const int &joystick, SDL_GameControllerAxis axis) 
{ 
    SDL_JoystickUpdate(); 
    gameController_ = SDL_GameControllerOpen (joystick); 
    return (double) SDL_GameControllerGetAxis (gameController_, axis); 
} 

有沒有辦法,我失去了一些東西?

+1

你可以發佈你如何成功地讀取控制軸值 – Zammalad

回答