LWJGL 中不是游戏手柄的控制器
Controllers that are not Gamepads in 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个控制器。
但 Gamepad 是控制器编号 0。
因为当我轮询 n1 或 n2 控制器时——游戏就崩溃了。
有谁知道如何从这个列表中自动选择可用的游戏手柄并避免崩溃?
看来没有人能做到。我一直在努力,到目前为止只有一种解决方案。这是:
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);
}
有两个控制器无法轮询。在某些 PC 上,它们称为 "HID something",在其他 PC 上,它们称为 "USB Keybord"、"USB Mouse"。也许在其他 PC 上它们会以其他方式被调用。所以我们没有轮询这些控制器,游戏也没有崩溃……这似乎是一个糟糕的解决方案,但我认为没有更好的办法。
我在游戏手柄支持方面遇到了问题。
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个控制器。 但 Gamepad 是控制器编号 0。 因为当我轮询 n1 或 n2 控制器时——游戏就崩溃了。
有谁知道如何从这个列表中自动选择可用的游戏手柄并避免崩溃?
看来没有人能做到。我一直在努力,到目前为止只有一种解决方案。这是:
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);
}
有两个控制器无法轮询。在某些 PC 上,它们称为 "HID something",在其他 PC 上,它们称为 "USB Keybord"、"USB Mouse"。也许在其他 PC 上它们会以其他方式被调用。所以我们没有轮询这些控制器,游戏也没有崩溃……这似乎是一个糟糕的解决方案,但我认为没有更好的办法。