LWJGL中非游戏手柄类型的控制器

4
我遇到了游戏手柄支持问题。
    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

它显示我有三个控制器。 但手柄是第0号控制器。 当我轮询n1或n2控制器时,游戏会崩溃。

有谁知道如何自动从列表中选择工作良好的游戏手柄并避免崩溃?


我已经进行了一些测试,看起来那两个额外的控制器是键盘和鼠标。但这并没有真正帮助到我。 - Tony Shor
1个回答

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键盘”、“USB鼠标”。也许在其他电脑上它们会以其他方式被称呼。因此,我们不轮询这些控制器,游戏也不会崩溃……这似乎是一个不好的解决方案,但我没有更好的办法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接