根据此网站https://developer.android.com/training/game-controllers/multiple-controllers.html,Android似乎支持多个游戏手柄。实际上,当同时发生多个输入设备事件时,它不起作用。例如,当player1和player2同时按下向上按钮时,就会发生如下所示的dipathKeyEvents。
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作: ACTION_UP ,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
而且device:6的ACTION_UP从未发生。
他们应该是这样
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:6,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
D / dispatchKeyEvent(12736):设备:1,操作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP
有谁可以管理多个控制器? NativeActivity是否可以解决此问题?
我的环境是
最佳答案
Android中存在一个错误,该错误会导致一个控制器的onKeyDown / onKeyUp事件有时被错误地标识为来自另一个控制器。这仅在D-pad上发生,其他按钮可以正常使用。您可以通过实现onGenericMotionEvent并自行处理D-pad事件(AXIS_HAT_X,AXIS_HAT_Y)来解决此错误。有关该错误和解决方法的更多信息:https://playjam.com/develop/guides/controller
关于android - Android上的多个游戏 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33070114/