【问题标题】:Multiple game controllers on AndroidAndroid上的多个游戏控制器
【发布时间】:2015-10-11 21:05:25
【问题描述】:

根据这个网站https://developer.android.com/training/game-controllers/multiple-controllers.html,Android 似乎支持多个游戏手柄。实际上,当多个输入设备事件同时发生时它不起作用。例如当 player1 和 player2 同时按下向上按钮时,dipathKeyEvents 发生如下。

D/dispatchKeyEvent(12736): device:6,action: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): device:1,action:ACTION_UP,keyCoe:KEYCODE_DPAD_UP D/dispatchKeyEvent(12736):设备:1,动作:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP D/dispatchKeyEvent(12736): device:1,action:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP

并且 device:6 的 ACTION_UP 从未发生过。

他们应该是这样的

D/dispatchKeyEvent(12736): device:6,action: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): device:1,action:ACTION_DOWN,keyCoe:KEYCODE_DPAD_UP

有没有人可以管理多个控制器? NativeActivity 是否解决了这个问题?

我的环境是

  • 设备:NVIDIA Shield TV
  • controller1:屏蔽控制器
  • 控制器 2:Playstation 3 控制器通过 USB 连接
  • 操作系统:Android TV

【问题讨论】:

    标签: android controller onkeydown gamepad


    【解决方案1】:

    Android 中有一个错误会导致来自一个控制器的 onKeyDown/onKeyUp 事件有时被错误地识别为来自另一个控制器。这只发生在方向键上,其他按钮工作正常。您可以通过实现 onGenericMotionEvent 并自己处理方向键事件(AXIS_HAT_X、AXIS_HAT_Y)来解决此错误。有关该错误和解决方法的更多信息:https://playjam.com/develop/guides/controller

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      相关资源
      最近更新 更多