2015-04-21 3 views
4

У меня проблемы с поддержкой Gamepad.Контроллеры, которые не являются геймпадами в LWJGL

try // to create the Controllers 
    { 
     Controllers.create(); 
    } 
    catch(Exception exep) 
    {} 

    int allControllers=0; 
    allControllers=Controllers.getControllerCount(); //finding out how much 
    //of it do we have 

В нем говорится, что у меня есть 3 контроллера. Но геймпад - это номер контроллера 0. Потому что, когда я опросу контроллера n1 или n2, игра просто падает.

Кто-нибудь знает, что можно автоматически выбрать рабочий геймпад из этого списка и уклониться от краха?

+0

Я проводил несколько тестов, похоже, эти 2 дополнительных контроллера - это клавиатура и мышь. Но это не помогает. –

ответ

0

Похоже, что никто не может этого сделать. Я работал над этим навсегда, и пока есть только одно решение. Вот он:

 for(int co=0;co<allControllers;co++) 
     { 
      gamepad = Controllers.getController(co); 
      GamePadName=gamepad.getName(); 
      if(GamePadName.charAt(0)!='H' && GamePadName.charAt(0)!='U') 
       Keys=checkGamepad(Keys); 
     } 

Существует два контроллера, которые нельзя опросить. На некоторых компьютерах они называются «HID something», а на других они называются «USB Keybord», «USB-мышь». Возможно, на других ПК они будут вызваны другим способом. Поэтому мы не опросили этих контроллеров, и игра не рушится ... кажется, это плохое решение, но я не вижу лучшего.